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 634755 - menus bounce when moving between top level items
menus bounce when moving between top level items
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Owen Taylor
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2010-11-13 14:49 UTC by William Jon McCann
Modified: 2010-12-21 22:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
popupMenu: fix up grab/ungrab handling (7.33 KB, patch)
2010-11-18 21:21 UTC, Dan Winship
none Details | Review
popupMenu: don't animate menus when switching from one to another (6.12 KB, patch)
2010-11-18 21:21 UTC, Dan Winship
none Details | Review
panel: fix up calendar-vs-menu handling on clock (1.98 KB, patch)
2010-11-19 18:10 UTC, Dan Winship
none Details | Review
popupMenu: fix up grab/ungrab handling (7.80 KB, patch)
2010-11-19 18:10 UTC, Dan Winship
none Details | Review
popupMenu: don't animate menus when switching from one to another (6.12 KB, patch)
2010-11-19 18:11 UTC, Dan Winship
none Details | Review
panel: fix up calendar-vs-menu handling on clock (1.98 KB, patch)
2010-12-16 21:20 UTC, Dan Winship
none Details | Review
popupMenu: don't animate menus when switching from one to another (6.56 KB, patch)
2010-12-16 21:20 UTC, Dan Winship
none Details | Review
panel: fix up calendar-vs-menu handling on clock (1.98 KB, patch)
2010-12-20 23:01 UTC, Dan Winship
committed Details | Review
popupMenu: don't animate menus when switching from one to another (11.78 KB, patch)
2010-12-20 23:01 UTC, Dan Winship
committed Details | Review

Description William Jon McCann 2010-11-13 14:49:03 UTC
When mousing between sound and universal access menus two things happen that aren't ideal:

 * The menu animates as if it was just dropping down for the first time and this causes a bouncing effect.  It would be better to know one is already down and slide over or just fade out/in quickly.
 * Focus is lost and regained.  This causes focus to return to the last application for a very short time.  This is undesirable because in some cases the focused change results in a color change of the widget.  This is pretty distracting when only moving between shell menus.
Comment 1 Dan Winship 2010-11-13 14:59:38 UTC
(In reply to comment #0)
>  * Focus is lost and regained.

The patch in bug 618885 comment 23 fixes this
Comment 2 Dan Winship 2010-11-18 21:21:18 UTC
Created attachment 174807 [details] [review]
popupMenu: fix up grab/ungrab handling

stolen from bug 618885; this reorganizes popupMenu in a way that's useful
for the other fix anyway
Comment 3 Dan Winship 2010-11-18 21:21:25 UTC
Created attachment 174808 [details] [review]
popupMenu: don't animate menus when switching from one to another

Don't do the "slide" effect when moving from one menu to another; only
do it when opening the first menu, or closing a menu without opening
another one.
Comment 4 Dan Winship 2010-11-19 18:10:47 UTC
Created attachment 174872 [details] [review]
panel: fix up calendar-vs-menu handling on clock

Give the clock's right-click menu its own PopupMenuManager so that if
you drop down another menu and then mouseover the clock it doesn't
pop up the right-click menu.
Comment 5 Dan Winship 2010-11-19 18:10:55 UTC
Created attachment 174873 [details] [review]
popupMenu: fix up grab/ungrab handling

Fix the panel menus to avoid unnecessarily bouncing out of modal (bug
634194) and to do a better job of keeping the keyboard focus in the
right place
Comment 6 Dan Winship 2010-11-19 18:11:05 UTC
Created attachment 174874 [details] [review]
popupMenu: don't animate menus when switching from one to another

Don't do the "slide" effect when moving from one menu to another; only
do it when opening the first menu, or closing a menu without opening
another one.
Comment 7 Dan Winship 2010-11-19 18:13:04 UTC
Owen pointed out a problem on IRC, which is that if you dropped down a status menu, and then moved over and clicked the clock, you got a stuck grab. The first patch here fixes the longstanding oddity that the clock's right-click menu showed up as part of the main menu group, and then the new version of the second patch avoids causing any new grab problems with it.
Comment 8 Dan Winship 2010-12-16 21:20:00 UTC
Comment on attachment 174873 [details] [review]
popupMenu: fix up grab/ungrab handling

this patch is now part of bug 618885
Comment 9 Dan Winship 2010-12-16 21:20:35 UTC
Created attachment 176557 [details] [review]
panel: fix up calendar-vs-menu handling on clock

rebased on top of 618885
Comment 10 Dan Winship 2010-12-16 21:20:58 UTC
Created attachment 176558 [details] [review]
popupMenu: don't animate menus when switching from one to another

rebased on top of 618885
Comment 11 Dan Winship 2010-12-20 23:01:14 UTC
Created attachment 176799 [details] [review]
panel: fix up calendar-vs-menu handling on clock

rebase
Comment 12 Dan Winship 2010-12-20 23:01:33 UTC
Created attachment 176800 [details] [review]
popupMenu: don't animate menus when switching from one to another

rebase, especially for the new submenu stuff
Comment 13 Owen Taylor 2010-12-21 19:20:26 UTC
Review of attachment 176799 [details] [review]:

Looks good
Comment 14 Owen Taylor 2010-12-21 19:39:43 UTC
Review of attachment 176800 [details] [review]:

Looks fine. Sure wish JS had named parameters....

::: js/ui/popupMenu.js
@@ +855,3 @@
         this.isOpen = true;
 
+        // this never gets called with animate=false, so...

A little too elliptical and hard to figure out - better to just say that you didn't implement animate=false, or even do a :

 if (!animate) // animate always true currently
   throw new Error("not implemented");
Comment 15 Dan Winship 2010-12-21 22:13:14 UTC
updated the comment; didn't add the throw, because it ought to be pretty
obvious that it's not working if someone tries to do an open(false) on it

Attachment 176799 [details] pushed as 7d0eeef - panel: fix up calendar-vs-menu handling on clock
Attachment 176800 [details] pushed as 1694148 - popupMenu: don't animate menus when switching from one to another