Why GNOME keybindings silently resist customization

Note: This relates GNOME Shell 3.10 in Ubuntu 14.04. Other versions may differ and YMMV.

The keybindings of GNOME Shell can be changed using the system settings windows (All settings | Keyboard | Shortcuts). However, I have at times run into the feeling that these settings were only superficially customizable. Some keybindings would keep working the old way despite having their functionality set to another keybinding and some would seemingly ignore being disabled. GNOME keybindings seemed haunted by a ghost.

I’ve tracked down the ghost and the name of it is multiple keybindings. One functionality is often given to multiple key combos in the bowels of the system, not just one. The System settings window, however, only shows one, the first in the list. This means that if the keybinding you wish to assign to functionality A is secretly assigned to functionality B , the secret binding may overrule your attempts to use the keybinding. Only you won’t be asked to reassign the keybinding in system settings as that only checks the first, user-editable keybinding. A bug or a feature? You never really know with the GNOME development team.


Everything in it’s Right Place 2: Setting static workspaces

This is the second post in a series on achieving an orderly desktop environment in GNOME 3, using no add-ons, only old school hacks. See also the first post in the series.

In the previous post I laid out the requirements for my ideal desktop. In the following I’m going to explain how I go about achieving this within the confines of Gnome Shell. Which immediately begs the question: Why Gnome Shell? There is a ton of alternative desktop environments and window managers out there, many of which may be more amenable to what I intend to do. I will not go into the whole desktop choice debate here. Suffice to say that I still believe that Gnome Shell can be made into a decent desktop environment with the hacks detailed in these posts.

Here’s the plan: First we’ll set static workspaces with Gnome tweak tool (alternatively dconf), then we’ll make various windows adhere to a specific workspace using devilspie and then we’ll set up a way to switch between applications using wmctrl and xbindkeys. This post will focus on getting static workspaces to work.