Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 365829

Summary: [gnome-overlay] Missing shortcut categories in gnome-control-center-3.0.1.1
Product: Gentoo Linux Reporter: Tassilo Horn <tsdh>
Component: [OLD] GNOMEAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 387957, 436384    
Attachments: proposed metacity-keybindings ebuild
metacity-2.34.0-r1 ebuild that uses metacity-keybindings

Description Tassilo Horn 2011-05-03 14:37:29 UTC
In the Gnome Control Center, section Keyboard, Shortcuts tab, there are only these 5 categories:

 - Launchers
 - Sound and Media
 - System
 - Universal Access
 - Custom Shortcuts

According to #gnome-shell and #gnome on IRC, there should at least be two more categories: 

 - Desktop
 - Window Management

So right now, there's no way of changing the global shortcuts for cycling thru windows and things like that.

I don't have the full gnome-base/gnome installed, but only gnome-base/gnome-light-3.0.0 + some addons.  Here are the exact packages:

root@thinkpad> eix -C gnome-base -I --compact
[I] gnome-base/dconf (0.7.3-r1[1]@04/30/2011): Simple low-level configuration system
[I] gnome-base/gconf (2.32.3(2)@04/30/2011): Gnome Configuration System and Daemon
[I] gnome-base/gnome-common (2.34.0(3)@04/23/2011): Common files for development of Gnome packages
[I] gnome-base/gnome-control-center (3.0.1.1(2)[1]@04/30/2011): The gnome2 Desktop configuration tool
[I] gnome-base/gnome-desktop (3.0.1-r1(3)[1]@05/02/2011): Libraries for the gnome desktop that are not part of the UI
[I] gnome-base/gnome-keyring (3.0.1-r300[1]@04/29/2011): Password and keyring managing daemon
[I] gnome-base/gnome-light (3.0.0(2.0)[1]@04/23/2011): Meta package for the GNOME desktop, merge this package to install
[I] gnome-base/gnome-menus (3.0.1[1]@04/29/2011): The GNOME menu system, implementing the F.D.O cross-desktop spec
[I] gnome-base/gnome-mime-data (2.18.0@04/23/2011): MIME data for Gnome
[I] gnome-base/gnome-panel (3.0.0.1[1]@04/23/2011): The GNOME panel
[I] gnome-base/gnome-session (3.0.1[1]@04/29/2011): Gnome session manager
[I] gnome-base/gnome-settings-daemon (3.0.1[1]@04/29/2011): Gnome Settings Daemon
[I] gnome-base/gnome-vfs (2.24.4-r1(2)@04/23/2011): Gnome Virtual Filesystem
[I] gnome-base/gsettings-desktop-schemas (3.0.1[1]@04/29/2011): Collection of GSettings schemas for GNOME desktop
[I] gnome-base/gvfs (1.8.1[1]@04/29/2011): GNOME Virtual Filesystem Layer
[I] gnome-base/libbonobo (2.24.3@04/23/2011): GNOME CORBA framework
[I] gnome-base/libbonoboui (2.24.5@04/23/2011): User Interface part of libbonobo
[I] gnome-base/libglade (2.6.4(2.0)@04/23/2011): Library to construct graphical interfaces at runtime
[I] gnome-base/libgnome (2.32.1@04/23/2011): Essential Gnome Libraries
[I] gnome-base/libgnome-keyring (3.0.1[1]@04/29/2011): Compatibility library for accessing secrets
[I] gnome-base/libgnomecanvas (2.30.3@04/23/2011): The Gnome 2 Canvas library
[I] gnome-base/libgnomekbd (3.0.0.1[1]@04/23/2011): Gnome keyboard configuration library
[I] gnome-base/libgnomeui (2.24.5@04/23/2011): User Interface routines for Gnome
[I] gnome-base/libgtop (2.28.3(2)@04/23/2011): A library that provides top functionality to applications
[I] gnome-base/librsvg (2.34.0(2)@04/23/2011): Scalable Vector Graphics (SVG) rendering library
[I] gnome-base/nautilus (3.0.1.1[1]@05/02/2011): A file manager for the GNOME desktop
[I] gnome-base/orbit (2.14.19-r1(2)@04/23/2011): ORBit2 is a high-performance CORBA ORB
[I] gnome-base/gnome-core-libs [1] (3.0.0(3.0)@04/23/2011): Meta package for the core libraries of GNOME 3
[I] gnome-base/gnome-shell [1] (3.0.1@04/29/2011): Provides core UI functions for the GNOME 3 desktop
[1] "gnome" /var/lib/layman/gnome

root@thinkpad> eix -C gnome-extra -I --compact
[I] gnome-extra/evolution-data-server (3.0.1[1]@04/29/2011): Evolution groupware backend
[I] gnome-extra/gnome-audio (2.22.2@04/23/2011): Gnome Desktop Sound Effects Package
[I] gnome-extra/gnome-power-manager (3.0.0[1]@04/23/2011): Gnome Power Manager
[I] gnome-extra/gnome-screensaver (3.0.0[1]@04/23/2011): Replaces xscreensaver, integrating with the desktop.
[I] gnome-extra/gnome-system-monitor (3.0.0[1]@04/30/2011): Process viewer and system resource monitor for Gnome.
[I] gnome-extra/gnome-user-docs (3.0.3[1]@05/01/2011): GNOME end user documentation
[I] gnome-extra/gnome-utils (3.0.1[1]@04/29/2011): Utilities for the Gnome2 desktop
[I] gnome-extra/gucharmap (3.0.1[1]@04/29/2011): Unicode character map viewer
[I] gnome-extra/nm-applet (0.8.998[1]@05/03/2011): Gnome applet for NetworkManager.
[I] gnome-extra/polkit-gnome (0.101-r1@04/23/2011): A dbus session bus service that is used to bring up authentication dialogs
[I] gnome-extra/yelp (3.0.2[1]@05/01/2011): Help browser for GNOME
[I] gnome-extra/zeitgeist (0.7.1[2]@05/02/2011): Service to log activities and present to other apps
[I] gnome-extra/zeitgeist-datahub (9999[2]@05/03/2011): Provides passive plugins to insert events into zeitgeist
[I] gnome-extra/zenity (3.0.0[1]@04/23/2011): Tool to display dialogs from the commandline and shell scripts
[I] gnome-extra/gnome-tweak-tool [1] (3.0.3-r1@05/03/2011): Tool to customize GNOME 3 options
[I] gnome-extra/yelp-xsl [1] (3.0.1@05/01/2011): XSL stylesheets for yelp
[I] gnome-extra/gnome-activity-journal [2] (0.6.0@05/02/2011): Tool for easily browsing and finding files on your computer.
[1] "gnome" /var/lib/layman/gnome
[2] "amielke-overlay" /var/lib/layman/amielke-overlay

root@thinkpad> eix mutter -I --compact
[I] x11-wm/mutter [1] (3.0.1-r1@04/30/2011): Upcoming GNOME 3 window manager (derived from metacity)
[1] "gnome" /var/lib/layman/gnome
Comment 1 Nirbheek Chauhan (RETIRED) gentoo-dev 2011-05-03 15:05:08 UTC
Confirming, bug exists with the full meta as well.
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-05-16 04:23:08 UTC
The "Navigation" and "Windows" shortcut categories are generated from the 50-metacity-navigation.xml and 50-metacity-windows.xml files in the /usr/share/gnome-control-center/keybindings directory. These files are part of metacity-2.34.0 (in portage, package-masked).

I suggest that >=metacity-2.34.0 should to be added as an unconditional dependency of the gnome meta package (currently, it only gets pulled in with USE=fallback).
Comment 3 Nirbheek Chauhan (RETIRED) gentoo-dev 2011-05-16 06:29:19 UTC
(In reply to comment #2)
> I suggest that >=metacity-2.34.0 should to be added as an unconditional
> dependency of the gnome meta package (currently, it only gets pulled in with
> USE=fallback).

Seems rather wasteful to do this. Maybe we should ship the xml files with mutter as well.
Comment 4 Tassilo Horn 2011-05-16 06:38:23 UTC
> > I suggest that >=metacity-2.34.0 should to be added as an unconditional
> > dependency of the gnome meta package (currently, it only gets pulled in with
> > USE=fallback).

But the bindings have the same effect for mutter as well, right?

> Seems rather wasteful to do this. Maybe we should ship the xml files with
> mutter as well.

I'd prefer that.  I use GNOME3 for about three weeks now, and till now it never crashed, so I feel no need to install the fallback mode.  Hard to believe for a dot-zero release. ;-)
Comment 5 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-05-16 06:54:54 UTC
(In reply to comment #3)

You can't just "ship the xml files with mutter", they need to be built from metacity source (they get internationalized with intltool).

This means splitting up metacity into two ebuilds - say, x11-wm/metacity and gnome-base/metacity-xml, and making x11-wm/mutter pdepend on gnome-base/metacity-xml.
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-05-16 06:59:53 UTC
(In reply to comment #5)

err, meant rdepend, not pdepend.
Comment 7 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-05-16 08:05:32 UTC
On further testing, it appears that the xml files are not enough. You also need metacity gconf schemas that the xml files reference. And the schema file can't be just taken from the tarball, because most of it is generated at build time by src/core/schema-bindings.c :/

The more I look at the task of extracting metacity keybindings into a separate ebuild, the more adding metacity as a dependency of gnome meta looks like a better and more maintainable option.
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-05-18 07:50:52 UTC
Created attachment 273803 [details]
proposed metacity-keybindings ebuild

Well, after playing around with metacity source for a while, I think I have found a more-or-less clean way of separating keybindings definitions (including all the i18n aspects thereof) from the window manager.

Here is my proposed gnome-base/metacity-keybindings-2.34.0 ebuild. It takes only a few seconds to emerge (since it avoids using any part of metacity's build system) and installs about 92K worth of files uncompressed (that's on my system, with LINGUAS="en ru"). It needs to be a runtime dependency of metacity, and should be pulled in by gnome meta.
Comment 9 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-05-18 07:54:07 UTC
Created attachment 273805 [details]
metacity-2.34.0-r1 ebuild that uses metacity-keybindings

And here is a proposed x11-wm/metacity-2.34.0-r1 ebuild that does not install any keybinding-related files or schemas, and therefore has metacity-keybindings as a runtime dependency.
Comment 10 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-07-25 02:08:25 UTC
gnome team, *ping*.

Can I go ahead and put the split metacity and metacity-keybindings in the overlay?
Comment 11 Gilles Dartiguelongue (RETIRED) gentoo-dev 2011-07-25 06:32:43 UTC
The ebuild looks a bit dreadful, need time to review it. On the other hand, did someone ask upstream what they would do about this issue ?
Comment 12 Pacho Ramos gentoo-dev 2011-12-17 14:59:36 UTC
(In reply to comment #11)
> The ebuild looks a bit dreadful, need time to review it. On the other hand, did
> someone ask upstream what they would do about this issue ?

What is the status of this one today?
Comment 13 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-31 08:38:30 UTC
(In reply to comment #12)
> What is the status of this one today?

In gnome-3.3/3.4, keybindings are stored in gsettings (specifically, under org.gnome.desktop.wm.keybindings and org.gnome.mutter.keybindings), so this problem will go away on its own in a few months.

Until then, gnome-base/gnome has +fallback in IUSE which pulls in metacity...
Comment 14 Gilles Dartiguelongue (RETIRED) gentoo-dev 2012-11-02 22:48:28 UTC
Closing per previous comment. We are currently on gnome 3.6 and this clearly is not a problem anymore. Thanks for your report.