GNOME Bugzilla – Bug 692437
<Alt>Above_Tab does not cycle windows
Last modified: 2015-01-07 21:24:09 UTC
Created attachment 234289 [details] [review] Proposed patch to fix <Alt>Above_Tab not cycling through windows When the "switch_group" keyboard binding is set to <Alt>Above_Tab (the default), you cannot cycle through any of the application's windows. Namely, when you Press <Alt> Press, release Backtick Press, release Backtick . . . Release <Alt> The first press/release of Backtick will bring up the group cycle dialog as expected, but the second press/release of Backtick does not cycle to the next window. Rather, it dismisses the dialog. Setting the "switch_group" keyboard binding to <Alt>Backtick works around this issue. The problem appears to be in display_get_keybinding_action(), where the pressed keysym is compared to all of the registered keybindings. However, the stored keysym for the "switch_group" keybinding is the special keysym META_KEY_ABOVE_TAB, and so the pressed keysym never matches it. The proposed patch I've attached fixes the issue by ignoring the pressed keysym when a registered keybinding's keysym is META_KEY_ABOVE_TAB, in which case only compare the pressed keycode and mask to that of that keybinding.
Correction: Setting the "switch_group" keybinding to <Alt>grave (ensure the 'g' is lowercase) works around this issue, not <Alt>Backtick as originally reported. Then 'metacity --replace' for the new setting to be picked up.
This seems to fix alt+grave behavior in gnome fallback session for me. Switching between multiple windows now works, and I can't spot any regressions.
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.