After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 650701 - Move shell theme name into gsettings
Move shell theme name into gsettings
Status: RESOLVED WONTFIX
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 780118 782457 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-05-20 22:52 UTC by John Stowers
Modified: 2017-05-10 16:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description John Stowers 2011-05-20 22:52:05 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
Comment 1 Finnbarr P. Murphy 2011-05-21 15:45:09 UTC
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.
Comment 2 Jasper St. Pierre (not reading bugmail) 2013-08-15 02:03:51 UTC
The user theme extension is all we're going to support at the moment.
Comment 3 Florian Müllner 2017-03-16 01:10:40 UTC
*** Bug 780118 has been marked as a duplicate of this bug. ***
Comment 4 Florian Müllner 2017-05-10 16:57:07 UTC
*** Bug 782457 has been marked as a duplicate of this bug. ***