diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 84408f829..f4b4f8876 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1555,6 +1555,25 @@ const MessageTray = new Lang.Class({ Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated)); + Main.overview.connect('window-drag-begin', + Lang.bind(this, this._onDragBegin)); + Main.overview.connect('window-drag-cancelled', + Lang.bind(this, this._onDragEnd)); + Main.overview.connect('window-drag-end', + Lang.bind(this, this._onDragEnd)); + + Main.overview.connect('item-drag-begin', + Lang.bind(this, this._onDragBegin)); + Main.overview.connect('item-drag-cancelled', + Lang.bind(this, this._onDragEnd)); + Main.overview.connect('item-drag-end', + Lang.bind(this, this._onDragEnd)); + + Main.xdndHandler.connect('drag-begin', + Lang.bind(this, this._onDragBegin)); + Main.xdndHandler.connect('drag-end', + Lang.bind(this, this._onDragEnd)); + Main.wm.addKeybinding('focus-active-notification', new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }), Meta.KeyBindingFlags.NONE, @@ -1571,6 +1590,14 @@ const MessageTray = new Lang.Class({ this._updateState(); }, + _onDragBegin: function() { + Shell.util_set_hidden_from_pick(this.actor, true); + }, + + _onDragEnd: function() { + Shell.util_set_hidden_from_pick(this.actor, false); + }, + _onNotificationKeyRelease: function(actor, event) { if (event.get_key_symbol() == Clutter.KEY_Escape && event.get_state() == 0) { this._expireNotification();