[gnome-shell/wip/message-tray: 20/24] messageTray: Make it keyboard navigable in the overview



commit 621f43c73322a861ac1e9b75814a7fc452f37a13
Author: Debarshi Ray <debarshir gnome org>
Date:   Thu Aug 9 02:30:13 2012 +0200

    messageTray: Make it keyboard navigable in the overview
    
    https://bugzilla.gnome.org/show_bug.cgi?id=681519

 js/ui/messageTray.js |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 4642d27..1d51b61 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -14,6 +14,7 @@ const Signals = imports.signals;
 const St = imports.gi.St;
 
 const BoxPointer = imports.ui.boxpointer;
+const CtrlAltTab = imports.ui.ctrlAltTab;
 const GnomeSession = imports.misc.gnomeSession;
 const GrabHelper = imports.ui.grabHelper;
 const Main = imports.ui.main;
@@ -1454,6 +1455,7 @@ const MessageTray = new Lang.Class({
 
         summaryItem.actor.connect('clicked', Lang.bind(this,
             function (actor, button) {
+                actor.grab_key_focus();
                 this._onSummaryItemClicked(summaryItem, button);
             }));
 
@@ -1847,9 +1849,13 @@ const MessageTray = new Lang.Class({
                       transition: 'easeOutQuad'
                     });
 
-        // Don't move the windows up and grab if we are in the overview.
-        if (this._overviewVisible)
+        // Don't move the windows up and grab if we are in the overview,
+        // but show the tray in the ctrl+alt+tab list.
+        if (this._overviewVisible) {
+            Main.ctrlAltTabManager.addGroup(this._summary, _("Message Tray"), 'start-here',
+                                            { sortGroup: CtrlAltTab.SortGroup.BOTTOM });
             return;
+        }
 
         this._grabHelper.grab({ actor: this.actor,
                                 modal: true,
@@ -1908,8 +1914,12 @@ const MessageTray = new Lang.Class({
                       transition: 'easeOutQuad'
                     });
 
-        if (!this._desktopClone)
+        // If we are coming back from the overview, there are no windows
+        // to be moved. Just remove the tray from the ctrl+alt+tab list.
+        if (!this._desktopClone) {
+            Main.ctrlAltTabManager.removeGroup(this._summary);
             return;
+        }
 
         let geometry = this._desktopClone.clip;
         Tweener.addTween(this._desktopClone,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]