GNOME Bugzilla – Bug 681392
Move the desktop upwards when the message tray is revealed
Last modified: 2012-08-20 01:17:08 UTC
Design: https://live.gnome.org/GnomeShell/Design/Guidelines/MessageTray When the message tray is revealed the windows and the wallpaper should move up as if the tray pushed the desktop upwards. They should be restored when the tray is hidden.
Created attachment 220586 [details] [review] Add a toggle-message-tray keybinding to move the windows up/down
Created attachment 220587 [details] [review] messageTray: Clone, clip & move the window_group instead of each actor
Review of attachment 220587 [details] [review]: Instead of each actor? (Commit message needs updating after squash)
Review of attachment 220586 [details] [review]: Oh. This is not what I meant at all. I meant to just open/close the tray without shifting the windows at all.
Created attachment 220710 [details] [review] messageTray: Use a Lightbox to shade the rest of the uiGroup
Sorry, for misunderstanding which way you wanted the patches to be squashed. New ones coming up tomorrow.
Created attachment 220737 [details] [review] messageTray: Add a toggle-message-tray keybinding to toggle the tray
Review of attachment 220737 [details] [review]: Yes.
Created attachment 220738 [details] [review] messageTray: Clone, clip & move the window_group when tray is toggled
Created attachment 220739 [details] [review] messageTray: Use a Lightbox to shade the rest of the uiGroup
Review of attachment 220738 [details] [review]: ::: js/ui/messageTray.js @@ +2265,3 @@ { y: -this.actor.height, time: ANIMATION_TIME, + transition: 'easeOutQuad', ??? @@ +2289,3 @@ + transition: 'easeOutQuad', + onUpdate: Lang.bind(this, function() { + let progress = -1 * this._desktopClone.y; // y is -ve -ve? @@ +2290,3 @@ + onUpdate: Lang.bind(this, function() { + let progress = -1 * this._desktopClone.y; // y is -ve + this._desktopClone.set_clip(geometry.x, While Tweener doesn't know how to tween a ClutterGeometry, Clutter does. I wonder if we should use a Clutter animation here. @@ +2302,3 @@ { y: 0, time: ANIMATION_TIME, + transition: 'easeOutQuad', ??? @@ +2315,3 @@ + onComplete: Lang.bind(this, function() { + this._desktopClone.hide(); + Main.uiGroup.remove_actor(this._desktopClone); Use this._desktopClone.destroy() rather than a hide/remove.
(In reply to comment #11) > Review of attachment 220738 [details] [review]: > @@ +2289,3 @@ > + transition: 'easeOutQuad', > + onUpdate: Lang.bind(this, function() { > + let progress = -1 * this._desktopClone.y; // y > is -ve > > -ve? y moves from 0 to -this.actor.height. So it is mostly negative.
What's the "ve"?
Created attachment 220751 [details] [review] messageTray: Clone, clip & move the window_group when tray is toggled Initially I chose to make "progress" a positive value because it looked more intuitive to increase clip.y and decrease clip.height while moving up and the reverse when moving down. But I don't really care.
Created attachment 220752 [details] [review] messageTray: Clone, clip & move the window_group when tray is toggled Replace -ve with negative.
Created attachment 221011 [details] [review] messageTray: Use a Lightbox to shade the rest of the uiGroup Highlight the Main.layoutManager.trayBox instead of the messageTray.actor because the trayBox is a direct child of the Main.uiGroup.
Created attachment 221029 [details] [review] messageTray: Use a Lightbox to shade the window_group Shade the window_group and not the uiGroup so that the summary box pointers don't get shaded. This causes the panel to be outside the shade, but since it is part of the chrome, probably that is ok.
Attachment 220752 [details] pushed as 16bbe97 - messageTray: Clone, clip & move the window_group when tray is toggled Attachment 221029 [details] pushed as cb50953 - messageTray: Use a Lightbox to shade the window_group