From 1f6d807882b60e120065d948b5ecd1b68bf9c60f Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Fri, 10 Aug 2012 17:03:12 -0300 Subject: [PATCH] messageTray: Make modal --- js/ui/messageTray.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 11ae99543..4eb0eb220 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1887,6 +1887,13 @@ const MessageTray = new Lang.Class({ transition: 'easeOutQuad' }); + // Don't actually take a modal grab in the overview. + // Just add something to the grab stack that we can + // pop later. + this._grabHelper.grab({ actor: this.actor, + modal: !this._overviewVisible, + onUngrab: Lang.bind(this, this._escapeTray) }); + // Don't move the windows up if we are in the overview. if (this._overviewVisible) return; @@ -1918,6 +1925,11 @@ const MessageTray = new Lang.Class({ }, _hideTray: function() { + // Note that we might have entered here without a grab, + // which would happen if GrabHelper ungrabbed for us. + // This is a no-op in that case. + this._grabHelper.ungrab({ actor: this.actor }); + this._tween(this.actor, '_trayState', State.HIDDEN, { y: 0, time: ANIMATION_TIME,