GNOME Bugzilla – Bug 650701
Move shell theme name into gsettings
Last modified: 2017-05-10 16:57:07 UTC
It would be helpful for theme management (such as by gnome-tweak-tool or the theme manager shell extension) if the shell theme was stored in gsettings. It is currently installed by the user-theme extension. [1] Note: gnome-shell may not even consider the value of this setting, it can continue to use the hardcoded adwiata theme. The motivation here is to have a system wide schema key that is known to be installed that extensions can change (and monitor for change). Currently, inter-operation between tweak tools and/or theme managers requires the user-theme extension to be installed system wide so the shell theme name is available. Adding the key to the shell schema could be considered a helpful favour to tweak/theming tools, or a workaround of bug 649717 and/or bug 645254 [1] http://git.gnome.org/browse/gnome-shell-extensions/tree/extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in
I agree with John that a separate gsetting for a user-defined theme should be provided. However I would point out that the user-theme extension does not have to be installed system wide for all theme managers to work. What has to be installed is a suitable gsetting. The current de facto gschema for a user-defined shell theme is org.gnome.shell.extensions.user-theme.gschema.xml i.e. <schemalist gettext-domain="gnome-shell-extensions"> <schema id="org.gnome.shell.extensions.user-theme" path="/org/gnome/shell/extensions/user-theme/"> <key name="name" type="s"> <default>""</default> <_summary>Theme name</_summary> <_description>The name of the theme, to be loaded from ~/.themes/name/gnome-shell</_description> </key> </schema> </schemalist> I would also point out that installing the user-theme extension is problematic for theme managers that set the theme themselves by calling Main.loadTheme() as the user-theme extension also tries to set the theme upon detecting a change to the key using Main.setThemeStylesheet() followed by Main.loadTheme(); Given that user-theming is here to stay, I think that it would be better in the long run if a suitable key (user-theme_name?) were added to org.gnome.shell.gschema.xml.
The user theme extension is all we're going to support at the moment.
*** Bug 780118 has been marked as a duplicate of this bug. ***
*** Bug 782457 has been marked as a duplicate of this bug. ***