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 641117 - Strange behavior while using Ctrl+Alt+Tab
Strange behavior while using Ctrl+Alt+Tab
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Dan Winship
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-02-01 09:43 UTC by Jasper St. Pierre (not reading bugmail)
Modified: 2011-02-17 16:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
panel: fix app menu visibility after quick overview visit (2.28 KB, patch)
2011-02-01 15:56 UTC, Dan Winship
none Details | Review
main: in _globalKeyPressHandler, only process post-grab events (2.00 KB, patch)
2011-02-03 14:59 UTC, Dan Winship
rejected Details | Review
panel: fix app menu visibility after quick overview visit (2.25 KB, patch)
2011-02-16 20:19 UTC, Owen Taylor
committed Details | Review

Description Jasper St. Pierre (not reading bugmail) 2011-02-01 09:43:08 UTC
1. Use Ctrl+Alt+Tab to highlight the top panel.
2. Use the "overview key", not Alt+F1 to go into the overview.
3. You will bounce in and then out of the overview, and the app menu is missing.
Using the overview key additional times won't work until you use Alt+F1 or the hot-corner.
Comment 1 Dan Winship 2011-02-01 15:56:00 UTC
Created attachment 179804 [details] [review]
panel: fix app menu visibility after quick overview visit

If you left the overview immediately after entering it (either
intentionally or due to a bug), the app menu would mistakenly end up
hidden due to flaky interaction between its show() and hide() methods.
Comment 2 Dan Winship 2011-02-01 15:59:53 UTC
As for the bouncing, the sequence of events seems to be:

    - user presses Super_L
    - mutter sees a Super_L key press
    - user releases Super_L
    - mutter sees a Super_L key release
    - main.js sees a Super_L key press ???

Something's going wrong with the metacity/clutter/shell event dispatching here.
Comment 3 Dan Winship 2011-02-03 14:59:42 UTC
Created attachment 179993 [details] [review]
main: in _globalKeyPressHandler, only process post-grab events

Due to weirdness in the way mutter handles the overlay key, if you
press and release Super while the focus is in the shell chrome, mutter
will process the events and emit overlay-key (causing the overview to
be opened), but then _globalKeyPressHandler will also, belatedly,
receive a copy of the original keypress event (causing the overview to
be closed again).

Fix this by having _globalKeyPressHandler ignore any events with
timestamps equal to or earlier than the event that caused the keyboard
to be grabbed.

=====

The aforementioned "weirdness" has to do with mutter's belief that it
is allowing other apps to receive "Super+key" keypresses, and only stealing
plain "Super" for itself. It is not actually succeeding in doing that,
however. If we fixed that though, it's possible that there would still be
a problem of double-delivery of events within mutter, and so this patch
would still be needed. (If we fixed it in the other direction, giving up
on trying to fix it so other apps can see Super, then this patch would
probably not be needed.)
Comment 4 Owen Taylor 2011-02-15 23:24:09 UTC
Review of attachment 179993 [details] [review]:

This was a combination of bug 642426 which was causing the super key release to be delivered through GDK though it was handled by Mutter and suppressed from Clutter key event handling, and bug 641896 which turned the release into a press
Comment 5 Dan Winship 2011-02-16 16:26:34 UTC
the first patch is still relevant though
Comment 6 Owen Taylor 2011-02-16 16:31:31 UTC
(In reply to comment #5)
> the first patch is still relevant though

Yeah, just didn't get through it yesterday.
Comment 7 Owen Taylor 2011-02-16 20:19:29 UTC
Created attachment 181052 [details] [review]
panel: fix app menu visibility after quick overview visit

If you left the overview immediately after entering it (either
intentionally or due to a bug), the app menu would mistakenly end up
hidden due to flaky interaction between its show() and hide() methods.

Based on a patch by Dan Winship <danw@gnome.org>
Comment 8 Dan Winship 2011-02-16 21:13:20 UTC
Comment on attachment 181052 [details] [review]
panel: fix app menu visibility after quick overview visit

sure
Comment 9 Owen Taylor 2011-02-17 16:37:17 UTC
Attachment 181052 [details] pushed as 43961aa - panel: fix app menu visibility after quick overview visit