Do we need more fields in metadata.json of extensions?
This is supposed to be a rather open discussion, which may also affect other projects. However, extensions-web
may be the most affected project, so I'll start this discussion here
Motivation
Currently, I think there is no standard way for extension developers to present some vital information to the user. IMHO, it would be great if users could easily discover the following information:
- Where can I report bugs?
- Where can I request a feature?
- Where can I translate the extension?
- Where's the changelog?
- What is the license?
- Who are the authors (#96 requests for a
creator
field, which is a good start, but actually I would like to credit all contributors, including translators) - How can I donate to the authors?
One of my main motivations behind this is to encourage users to get involved in the development of an extension.
Current Situation
I guess for most extensions you have to visit the website and search for the information.
Some extensions add a primary menu button to the preferences dialog.
However, this is pretty dirty, especially in the context of GNOME 42 where this involves hacking your way through the widget tree of the Adw.PreferencesWindow
.
Also, strictly speaking, extensions are not applications and therefore adding a primary menu button is kind of "wrong".
Here are some examples of extensions which present such information in one or the other way to the user.
Desktop-Cube |
Just Perfection |
Fly-Pie |
Night Theme Switcher |
Arc Menu |
App Grid Tweaks |
Tiling Assistant |
Burn-My-Windows |
A Solution
We could expand the set of metadata fields to include the above information. For some of them, this may be just an URL, for others (such as the authors), this seems not to be straight-forward. Then, this information could be displayed on extensions.gnome.org and by the extensions app.
Maybe we can somehow use a Gtk.AboutDialog
for this?
Alternatives
- An alternative could be to provide a method in the
ExtensionPrefsDialog
to add a primary menu to the header bar in a standardized fashion. So that all extensions which want to add a menu would add the menu in the same place. - Extensions could just add a page to the
Adw.PreferencesWindow
which contains the information. Yet I think that the primary menu button would be more similar to other GNOME applications and thus more consistent.... - Similarly, one could use a sub-page which is opened by a button (or rather a list box row) in the preferences dialog.