After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 645200 - Alt+Tab, Alt+Above_Tab, Ctrl+Alt+Tab hardcode Alt modifier
Alt+Tab, Alt+Above_Tab, Ctrl+Alt+Tab hardcode Alt modifier
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 648028 649236 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-03-19 04:18 UTC by Ryan Peters
Modified: 2011-09-20 19:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
alt-tab: Do not hardcode ALT modifier (7.36 KB, patch)
2011-09-07 02:53 UTC, Florian Müllner
needs-work Details | Review
alt-tab: Do not hardcode ALT modifier (7.90 KB, patch)
2011-09-07 19:24 UTC, Florian Müllner
none Details | Review
alt-tab: Do not hardcode ALT modifier (8.51 KB, patch)
2011-09-19 17:02 UTC, Florian Müllner
none Details | Review
alt-tab: Do not hardcode ALT modifier (8.33 KB, patch)
2011-09-19 23:11 UTC, Rui Matos
committed Details | Review

Description Ryan Peters 2011-03-19 04:18:02 UTC
I built GNOME Shell from jhbuild today and found that Ctrl+Alt+Tab switched between the various Shell places with keyboard navigability (very useful). I quickly found this keyboard shortcut to be very uncomfortable for my hand to do frequently. I decided to switch it to the much more logical (and comfortable) Meta/Super/Win+Tab, but as soon as I did the behavior of the shortcut got very strange; think of it like a "turbo button" on a video game controller where while you're holding down the button, it acts like you're pressing it a dozen times per second. For Shell to be usable only using the keyboard (or mostly), it needs to have comfortable keyboard shortcuts that don't strain my left hand.
Comment 1 Owen Taylor 2011-03-19 16:09:19 UTC
In general <Super> shortcuts don't work too well due to interaction with the overview key handling - should be fixable if someone puts some time into it. Going to mark this as a duplicate of the existing Mutter bug on the subject, though there might be some issues specific to Control-Alt-Tab.

In terms of comfort - we don't really see control-alt-tab as a primary way of navigating via the keyboard. Generally, we would expect most primary interaction to be done by search.

*** This bug has been marked as a duplicate of bug 603778 ***
Comment 2 Dan Winship 2011-04-18 12:49:38 UTC
(In reply to comment #1)
> Going to mark this as a duplicate of the existing Mutter bug on the subject,
> though there might be some issues specific to Control-Alt-Tab.

Yeah, there are; altTab.js and ctrlAltTab.js explicitly exit when you release Alt.

I think this could be fixed by making shell_wm_key_handler() include binding->mask in the signal parameters, and then updating the js code to use that.
Comment 3 Dan Winship 2011-04-18 12:49:52 UTC
*** Bug 648028 has been marked as a duplicate of this bug. ***
Comment 4 Dan Winship 2011-05-03 09:53:42 UTC
*** Bug 649236 has been marked as a duplicate of this bug. ***
Comment 5 Florian Müllner 2011-09-07 02:53:15 UTC
Created attachment 195838 [details] [review]
alt-tab: Do not hardcode ALT modifier

While we allow for arbitrary modifiers in keybindings, both the
alt-tab and ctrl-alt-tab popups close when ALT is not present in
the modifier mask, resulting in ALT being de-facto hardcoded.
Instead, pass the actual modifier mask when invoking the popups.


(In reply to comment #2)
> I think this could be fixed by making shell_wm_key_handler() include
> binding->mask in the signal parameters, and then updating the js code to use
> that.

Yup, let's do it then!
Comment 6 Dan Winship 2011-09-07 15:14:32 UTC
Comment on attachment 195838 [details] [review]
alt-tab: Do not hardcode ALT modifier

This introduces a slight change, which is that now if you start out with Alt+Shift+Tab (or Super+Shift or whatever), then it will stay in the switcher as long as *either* Alt or Shift is held down, rather than always exiting when Alt is released. (Likewise, for Ctrl+Alt+Tab, now you need to release both modifiers.)

mutter's default behavior is to exit when the modifier with the highest-valued mask bit is released
Comment 7 Florian Müllner 2011-09-07 19:24:47 UTC
Created attachment 195925 [details] [review]
alt-tab: Do not hardcode ALT modifier

(In reply to comment #6)
> mutter's default behavior is to exit when the modifier with the highest-valued
> mask bit is released

Sure.
Comment 8 Florian Müllner 2011-09-19 17:02:13 UTC
Created attachment 196971 [details] [review]
alt-tab: Do not hardcode ALT modifier

Rebased to master.
Comment 9 Rui Matos 2011-09-19 23:11:35 UTC
Created attachment 197009 [details] [review]
alt-tab: Do not hardcode ALT modifier

While we allow for arbitrary modifiers in keybindings, both the
alt-tab and ctrl-alt-tab popups close when ALT is not present in
the modifier mask, resulting in ALT being de-facto hardcoded.
Instead, pass the actual modifier mask when invoking the popups.

--

Hey Florian, this looks good, I think we should land it before the freeze. I
edited your patch a bit to factor out the primaryModifier() function, hope you
don't mind.
Comment 10 Dan Winship 2011-09-20 19:04:38 UTC
Comment on attachment 197009 [details] [review]
alt-tab: Do not hardcode ALT modifier

looks right
Comment 11 Florian Müllner 2011-09-20 19:08:17 UTC
Attachment 197009 [details] pushed as 566d566 - alt-tab: Do not hardcode ALT modifier