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

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Mohammed Sadiq
Owner
unassigned
Submitted by
Mohammed Sadiq
Severity
normal
M
M
Mohammed Sadiq wrote on 21 Sep 2017 17:47
(address . bug-guix@gnu.org)
718254061.68749.1506008871823@webmail.mailhostbox.com
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
L
L
Ludovic Courtès wrote on 6 Oct 2017 08:54
(name . Mohammed Sadiq)(address . sadiq@sadiqpk.org)(address . 28541@debbugs.gnu.org)
87o9pksr4v.fsf@gnu.org
Hi Mohammed,

Mohammed Sadiq <sadiq@sadiqpk.org> skribis:

Toggle quote (7 lines)
> 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?)

I suppose the problem doesn’t manifest when using
‘gnome-desktop-service’, because XDG_DATA_DIRS & co. are set such that
the gnome-shell schemas are found.

I would think that’s enough in practice, no? I doubt these are used
outside of a pure GNOME setting.

Also, gnome-shell depends on gnome-control-center, so
gnome-control-center cannot depend on gnome-shell.

Thanks,
Ludo’.
?