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 683526 - Panel extension items are out of order when coming back from the lock screen
Panel extension items are out of order when coming back from the lock screen
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-09-06 19:20 UTC by Giovanni Campagna
Modified: 2012-09-06 19:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Revert "userMenu: Don't update the presence icon immediately" (3.73 KB, patch)
2012-09-06 19:25 UTC, Giovanni Campagna
committed Details | Review
Panel: don't animate session mode switches (2.13 KB, patch)
2012-09-06 19:25 UTC, Giovanni Campagna
committed Details | Review

Description Giovanni Campagna 2012-09-06 19:20:52 UTC
What happens?
The panel delays its update until the end of the first phase of tweening, but by that time the extension are already enabled again, and thus the order of elements is wrong.

The right fix, IMHO, is to ditch the distracting animation of the panel, and do an atomic update. Since the panel is constructed before the extension system, and since signal connections are called in order, by the time extensions are enabled again, the panel is already enabled.
Comment 1 Giovanni Campagna 2012-09-06 19:25:34 UTC
Created attachment 223695 [details] [review]
Revert "userMenu: Don't update the presence icon immediately"

This reverts commit f1ca96bbf0c56a5eaa135c777045bddb4290cebe.
We're moving towards atomic panel upgrade, so we don't need this.
Comment 2 Giovanni Campagna 2012-09-06 19:25:43 UTC
Created attachment 223696 [details] [review]
Panel: don't animate session mode switches

It causes problems with extensions, and it's excessively distracting.
Comment 3 Jasper St. Pierre (not reading bugmail) 2012-09-06 19:29:54 UTC
Review of attachment 223696 [details] [review]:

I thought the sudden flash before the shield had dropped all the way was more distracting, but whatever.

::: js/ui/panel.js
@@ +966,3 @@
                                         { sortGroup: CtrlAltTab.SortGroup.TOP });
 
+        Main.sessionMode.connect('updated', Lang.bind(this, this._updatePanel));

I prefer having the method named "_sessionUpdated", but whatever.

@@ +1133,1 @@
     _closeIndicatorMenus: function() {

You can remove closeIndicatorMenus now, too.
Comment 4 Jasper St. Pierre (not reading bugmail) 2012-09-06 19:30:07 UTC
Review of attachment 223695 [details] [review]:

OK.
Comment 5 Giovanni Campagna 2012-09-06 19:34:51 UTC
(In reply to comment #3)
> Review of attachment 223696 [details] [review]:
> 
> I thought the sudden flash before the shield had dropped all the way was more
> distracting, but whatever.

I don't know. It's not flashing (we double buffer, it never goes text-black-text), and to me, the "attention" of the user is on the screenshield going down, not on the panel. Even if I keep my eyes on it, my impression is that the other indicators are pushed away by my name.
On the other hand, if the panel is animating, my attention is drawn to it, in particular in the mode switch from the lock screen to the unlock dialog (where indicators don't even move, btw).
I'm not a designer though, so I could be totally wrong.
Comment 6 Giovanni Campagna 2012-09-06 19:39:08 UTC
Attachment 223695 [details] pushed as 657887b - Revert "userMenu: Don't update the presence icon immediately"
Attachment 223696 [details] pushed as 8c53416 - Panel: don't animate session mode switches