Subject: Let gnome-tweak-tool and gnome-control-center have gnome-shell as input

From: Mohammed Sadiq <[email-masked]>
Date: Thu, 21 Sep 2017 21:17:51 +0530 (IST)

Hi,

Currently gnome-tweak-tool and gnome-control-center doesn't have gnome-shell
as input (in gnome.scm package definition). This results in issues when some
new package with gsettings schemas is installed.

without access to gnome-shell schemas, gnome-tweak-tool won't ever work, so
it is mandatory. And for the case of gnome-control-center, the keyboard panel
segfaults if gnome-shell schema isn't present. But since gnome-shell may not
be used by all g-c-c user, it may not be good to have a hard dependency on
gnome-shell, but if installed, the schemas of gnome-shell should too be added
as input (is it possible to do so?)

How to reproduce (hopefully gnome-shell is being used):
0. Install gnome-control-center and gnome-tweak-tool.
1. install some gnome application (eg: guix package -i gnome-calculator)
   It doesn't matter if you have already installed the package
2. run gnome-tweak-tool or run gnome-control-center and click Keyboard

result:
0. gnome-tweak-tool:
WARNING : Shell not installed or running
WARNING : Shell not running
None
WARNING : Error detecting shell
Traceback (most recent call last):
  File "/gnu/store/8cjmr5x8dxqkfcvlk20p3zc4si7q33jr-gnome-tweak-tool-3.24.1/lib/python2.7/site-packages/gtweak/tweaks/tweak_group_shell_extensions.py", line 279, in __init__
    raise Exception("Shell not running or DBus service not available")
Exception: Shell not running or DBus service not available
Traceback (most recent call last):
  File "/gnu/store/8cjmr5x8dxqkfcvlk20p3zc4si7q33jr-gnome-tweak-tool-3.24.1/lib/python2.7/site-packages/gtweak/app.py", line 41, in do_activate
    self.win = Window(self, model)
  File "/gnu/store/8cjmr5x8dxqkfcvlk20p3zc4si7q33jr-gnome-tweak-tool-3.24.1/lib/python2.7/site-packages/gtweak/tweakview.py", line 58, in __init__
    self._model.load_tweaks(self)
  File "/gnu/store/8cjmr5x8dxqkfcvlk20p3zc4si7q33jr-gnome-tweak-tool-3.24.1/lib/python2.7/site-packages/gtweak/tweakmodel.py", line 129, in load_tweaks
    mods = __import__("gtweak.tweaks", globals(), locals(), tweak_files, 0)
  File "/gnu/store/8cjmr5x8dxqkfcvlk20p3zc4si7q33jr-gnome-tweak-tool-3.24.1/lib/python2.7/site-packages/gtweak/tweaks/tweak_group_shell.py", line 98, in <module>
    sw = StaticWorkspaceTweak(size_group=sg, loaded=_shell_loaded)
  File "/gnu/store/8cjmr5x8dxqkfcvlk20p3zc4si7q33jr-gnome-tweak-tool-3.24.1/lib/python2.7/site-packages/gtweak/tweaks/tweak_group_shell.py", line 50, in __init__
    default = self.STATUS.keys()[self.STATUS.values().index(self.settings[self.key_name])]
ValueError: None is not in list
^C

1. gnome-control-center

(gnome-control-center:25833): GLib-GIO-ERROR **: Settings schema 'org.gnome.shell.keybindings' is not installed

Trace/breakpoint trap

Thanks