Subject: Keyboard shortcuts no longer work with gnome-shell 3.4

From: Josh Triplett <[email-masked]>
Date: Sun, 20 May 2012 00:00:33 -0700

Package: gnome-shell
Version: 3.4.1-1
Severity: normal

After upgrading to gnome-shell 3.4 from experimental, my custom keyboard
shortcuts no longer work.  In System Settings -> Keyboard -> Shortcuts,
I have shortcuts set for "Launch Terminal" (Mod4+N), "Toggle
maximization" (Mod4+M), and "Toggle fullscreen mode" (Mod4+F), but none
of them work since I upgraded to 3.4.

- Josh Triplett

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnome-shell depends on:
ii  dconf-gsettings-backend [gsettings-backend]  0.12.1-1
ii  gconf-service                                3.2.5-1
ii  gir1.2-accountsservice-1.0                   0.6.21-1
ii  gir1.2-atk-1.0                               2.4.0-2
ii  gir1.2-caribou-1.0                           0.4.2-2
ii  gir1.2-clutter-1.0                           1.10.4-3
ii  gir1.2-cogl-1.0                              1.10.2-3
ii  gir1.2-coglpango-1.0                         1.10.2-3
ii  gir1.2-folks-0.6                             0.6.9-1
ii  gir1.2-freedesktop                           1.32.1-1
ii  gir1.2-gconf-2.0                             3.2.5-1
ii  gir1.2-gcr-3                                 3.4.1-3
ii  gir1.2-gdesktopenums-3.0                     3.4.2-1
ii  gir1.2-gdkpixbuf-2.0                         2.26.1-1
ii  gir1.2-gee-1.0                               0.6.4-1
ii  gir1.2-gkbd-3.0                              3.4.0.2-1
ii  gir1.2-glib-2.0                              1.32.1-1
ii  gir1.2-gmenu-3.0                             3.4.2-1
ii  gir1.2-gnomebluetooth-1.0                    3.2.2-1
ii  gir1.2-gtk-3.0                               3.4.2-1
ii  gir1.2-json-1.0                              0.14.2-1
ii  gir1.2-mutter-3.0                            3.4.1-2
ii  gir1.2-networkmanager-1.0                    0.9.4.0-4
ii  gir1.2-pango-1.0                             1.30.0-1
ii  gir1.2-polkit-1.0                            0.105-1
ii  gir1.2-soup-2.4                              2.38.1-2
ii  gir1.2-telepathyglib-0.12                    0.18.1-2
ii  gir1.2-telepathylogger-0.2                   0.4.0-1
ii  gir1.2-upowerglib-1.0                        0.9.16-2
ii  gjs                                          1.32.0-2
ii  gnome-bluetooth                              3.2.2-1
ii  gnome-icon-theme-symbolic                    3.4.0-2
ii  gnome-settings-daemon                        3.2.2-3
ii  gnome-shell-common                           3.4.1-1
ii  gsettings-desktop-schemas                    3.4.2-1
ii  libatk1.0-0                                  2.4.0-2
ii  libc6                                        2.13-32
ii  libcairo-gobject2                            1.12.2-2
ii  libcairo2                                    1.12.2-2
ii  libcamel-1.2-29                              3.2.2-3
ii  libcanberra0                                 0.28-4
ii  libclutter-1.0-0                             1.10.4-3
ii  libcogl-pango0                               1.10.2-3
ii  libcogl9                                     1.10.2-3
ii  libcroco3                                    0.6.5-1
ii  libdbus-1-3                                  1.5.12-1
ii  libdbus-glib-1-2                             0.98-1
ii  libebook-1.2-12                              3.2.2-3
ii  libecal-1.2-10                               3.2.2-3
ii  libedataserver-1.2-15                        3.2.2-3
ii  libedataserverui-3.0-1                       3.2.2-3
ii  libffi5                                      3.0.10-3
ii  libfolks25                                   0.6.9-1
ii  libgck-1-0                                   3.4.1-3
ii  libgconf-2-4                                 3.2.5-1
ii  libgcr-3-1                                   3.4.1-3
ii  libgdk-pixbuf2.0-0                           2.26.1-1
ii  libgee2                                      0.6.4-1
ii  libgirepository-1.0-1                        1.32.1-1
ii  libgjs0b [libgjs0-libmozjs185-1.0]           1.32.0-2
ii  libgl1-mesa-glx [libgl1]                     8.0.2-2
ii  libglib2.0-0                                 2.32.3-1
ii  libgnome-keyring0                            3.4.1-1
ii  libgnome-menu-3-0                            3.4.2-1
ii  libgstreamer0.10-0                           0.10.36-1
ii  libgtk-3-0                                   3.4.2-1
ii  libical0                                     0.48-2
ii  libjson-glib-1.0-0                           0.14.2-1
ii  libmozjs185-1.0                              1.8.5-1.0.0+dfsg-3
ii  libmutter0                                   3.4.1-2
ii  libnm-glib4                                  0.9.4.0-4
ii  libnm-util2                                  0.9.4.0-4
ii  libnspr4                                     2:4.9-3
ii  libnspr4-0d                                  2:4.9-3
ii  libnss3                                      2:3.13.4-2
ii  libnss3-1d                                   2:3.13.4-2
ii  libp11-kit0                                  0.12-3
ii  libpango1.0-0                                1.30.0-1
ii  libpolkit-agent-1-0                          0.105-1
ii  libpolkit-gobject-1-0                        0.105-1
ii  libpulse-mainloop-glib0                      2.0-3
ii  libpulse0                                    2.0-3
ii  libsoup2.4-1                                 2.38.1-2
ii  libsqlite3-0                                 3.7.12-1
ii  libstartup-notification0                     0.12-1
ii  libtelepathy-glib0                           0.18.1-2
ii  libtelepathy-logger2                         0.4.0-1
ii  libx11-6                                     2:1.4.99.901-2
ii  libxcomposite1                               1:0.4.3-2
ii  libxdamage1                                  1:1.1.3-2
ii  libxext6                                     2:1.3.1-2
ii  libxfixes3                                   1:5.0-4
ii  libxi6                                       2:1.6.0-1
ii  libxml2                                      2.7.8.dfsg-9
ii  python                                       2.7.2-10
ii  telepathy-mission-control-5                  1:5.12.0-2

Versions of packages gnome-shell recommends:
ii  gnome-contacts          3.4.1-1
ii  gnome-control-center    1:3.2.2-3+b1
ii  gnome-session-fallback  3.4.2-1
ii  gnome-themes-standard   3.4.2-1
ii  gnome-user-guide        3.4.1-1

gnome-shell suggests no packages.

-- no debconf information

---

From: Michael Biebl <[email-masked]>
Date: Sun, 20 May 2012 12:36:09 +0200

Hi,

> of them work since I upgraded to 3.4.

Could you try upgrading gnome-settings-daemon and gnome-control-center
to 3.4, too.

Keyboard shortcuts have been switched from gconf to gsettings.
- Were existing shortcuts not migrated?
- Do keyboard shortcuts not work at all?
- Can you (re)create your shortcuts?

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

---

From: Josh Triplett <[email-masked]>
Date: Sun, 20 May 2012 12:57:54 -0700

> Could you try upgrading gnome-settings-daemon and gnome-control-center

OK, I just upgraded all three to the versions from experimental.

> - Were existing shortcuts not migrated?

Correct.  The shortcut for a terminal has disappeared entirely rather
than migrating to a custom shortcut or similar.  And the section for
window management shortcuts seems to have disappeared as well; I don't
see any way to add shortcuts for maximize, fullscreen, or move window to
top/bottom/left/right.  The shortcut for a web browser has stopped
working as well.  None of the shortcuts I've previously set appear
anywhere in the keyboard settings dialog.

> - Do keyboard shortcuts not work at all?

The default shortcuts seem to work, for what they provide: alt-tab,
alt-F4, volume keys, screenshots, etc.  I can also create keyboard
shortcuts using Ctrl+Alt+key and those work fine.  Shortcuts using
Super+key don't, though.

> - Can you (re)create your shortcuts?

I tried recreating my shortcuts via the Keyboard settings dialog.  While
I can now set keyboard shortcuts using Super as a modifier (which
previously did not work and just treated Super_L as a key in itself),
hitting those keys does not actually invoke the desired action.  I tried
setting up a custom shortcut to launch gnome-terminal, and I tried
setting the existing "Launch web browser" shortcut; neither one worked.

If I set the shortcuts to use a modifier other than Super, I can invoke
them.  Any shortcut I set using Super does not seem to work, though the
keyboard settings dialog itself recognizes it just fine.

Also, I see no way to recreate my existing shortcuts for maximization,
fullscreen, or moving windows up/down/left/right.

- Josh Triplett

---

From: Stefano Zacchiroli <[email-masked]>
Date: Mon, 4 Jun 2012 11:08:31 +0200

> keyboard settings dialog itself recognizes it just fine.

Just in case: same here. I'm giving gnome shell a try in a brand new
user on my work machine. I've tried to set Super+Return as shortcut to
launch gnome-terminal there. The shortcut is accepted in the
configuration window, but it doesn't work once set. If I rather try to
use a shortcut that does not involve Super, e.g. Alt+Return, it works as
expected.

(both shell and settings-daemon are at 3.4 versions)

Thanks for your work on GNOME!
Cheers.
-- 
Stefano Zacchiroli     zack@{upsilon.cc,pps.jussieu.fr,debian.org} . o .
Maître de conférences   ......   http://upsilon.cc/zack   ......   . . o
Debian Project Leader    .......   @zack on identi.ca   .......    o o o
« the first rule of tautology club is the first rule of tautology club »

---

From: Michael Biebl <[email-masked]>
Date: Mon, 04 Jun 2012 12:34:03 +0200

> top/bottom/left/right.

The window manager keybinding definitions for g-c-c are shipped as
/usr/share/gnome-control-center/keybindings/50-metacity-*.xml
in metacity-common. After installing this package, you should be able to
configure those keys in g-c-c again.

We've been discussing, where to add a dependency on metacity-common
(libmutter, g-c-c, gnome-shell) but haven't quite agreed on something yet.

  The shortcut for a web browser has stopped
> working as well.  

What is
gsettings get org.gnome.settings-daemon.plugins.media-keys www
set to?

None of the shortcuts I've previously set appear
> anywhere in the keyboard settings dialog.

Were those custom shortcuts or did you just re-assign different keys to
a predefined shortcut?

> shortcuts using Ctrl+Alt+key and those work fine.  Shortcuts using

Regarding the poor handling of the Super key, see buxy's email and
also https://bugzilla.gnome.org/show_bug.cgi?id=659899

I'm not an expert on this matter, so help with this particular issue
would be greatly appreciated.

> fullscreen, or moving windows up/down/left/right.

See above, wrt. metacity-common

Fwiw, the media keys are stored under
org.gnome.settings-daemon.plugins.media-keys:
gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys

The window management keybindings are stored under
org.gnome.desktop.wm.keybindings:
gsettings list-recursively org.gnome.desktop.wm.keybindings

---

From: Josh Triplett <[email-masked]>
Date: Mon, 4 Jun 2012 11:53:24 -0700

clone 673612 -1 -2
retitle 673612 Keyboard shortcuts using <Super>+key no longer work: <Super> grabbed by the shell
forwarded 673612 https://bugzilla.gnome.org/show_bug.cgi?id=659899
retitle -1 Terminal, window movement, and custom keybindings not migrated from GConf to gsettings
reassign -2 gnome-core
retitle -2 Please increase versioned dependency on metacity to (>= 1:2.34.3-2) for gsettings schemas.
thanks

> (libmutter, g-c-c, gnome-shell) but haven't quite agreed on something yet.

gnome-core already has a dependency on metacity.  However, I didn't
install metacity or metacity-common from experimental, so I didn't have
a version of metacity-common with the gsettings schemas until May 30th.
The window manager keybindings seem to show up now.

Might I suggest changing gnome-core's versioned dependency on metacity
to (>= 1:2.34.3-2)?

(Also, why does gnome-core depend on metacity, given that GNOME 3.4
doesn't actually use metacity, just metacity/mutter's libraries and
such?)

> gsettings get org.gnome.settings-daemon.plugins.media-keys www

~$ gsettings get org.gnome.settings-daemon.plugins.media-keys www
'<Super>b'

Looks like the bug report below regarding <Super> handling explains most
of this bug.  I've retitled this bug accordingly, and cloned it for the
other issues.

> Were those custom shortcuts or did you just re-assign different keys to

Both; I'd defined some new custom shortcuts and also assigned keys to
predefined shortcuts:

~$ gconftool-2 --config-source=xml:readwrite:/home/josh/.gconf.shared -R /apps/metacity
 /apps/metacity/window_keybindings:
  move_to_side_e = <Super>Right
  move_to_side_s = <Super>Down
  toggle_maximized = <Super>m
  move_to_side_n = <Super>Up
  toggle_fullscreen = <Super>f
  move_to_side_w = <Super>Left
 /apps/metacity/keybinding_commands:
  command_1 = firefox -new-tab "about:blank"
 /apps/metacity/global_keybindings:
  run_command_terminal = <Super>n
  run_command_1 = <Super>b
[...]

Now that I've upgraded metacity and metacity-common, some of the
shortcuts I want to set have shown up again.  None of my previous
settings appear to have migrated, though.

> would be greatly appreciated.

That bug report makes the issue pretty clear.  With the window manager
catching the <Super> modifier and using it to open the activities
overview, nothing other than the window manager can use <Super>+key for
shortcuts.  So, all the <Super>+key shortcuts in gnome-settings-daemon
(such as launching a browser) don't work, but those in the window
manager (such as moving windows around) work just fine.

> See above, wrt. metacity-common

Now that I have the proper version of metacity-common installed,
shortcuts for maximize and fullscreen show up again.  Shortcuts for
moving windows up/down/left/right don't exist anymore, though.  However,
while I don't see them in the dialog anywhere, <Super>+left and
<Super>+right now maximize windows to the left and right halves of the
screen, which works nicely; <Super>+up and <Super>+down got mapped to
maximize and restore, which work for me.  So, I don't actually need the
window movement keybindings anymore.

> gsettings list-recursively org.gnome.desktop.wm.keybindings

Thanks,
Josh Triplett