[gnome-shell] overview, appDisplay: add Dash to Ctrl-Alt-Tab



commit 7aa326a8363d0fcdb57d61d981f23929c5ed0241
Author: Dan Winship <danw gnome org>
Date:   Thu Feb 3 12:38:03 2011 -0500

    overview, appDisplay: add Dash to Ctrl-Alt-Tab
    
    Add the dash to Ctrl-Alt-Tab, add appropriate :focus CSS, and connect
    to the popup-menu signal on dash icons.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=618887

 data/theme/gnome-shell.css |    8 +++++++-
 js/ui/appDisplay.js        |    8 ++++++++
 js/ui/overview.js          |    4 ++++
 3 files changed, 19 insertions(+), 1 deletions(-)
---
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index da69a3e..cfcec9e 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -593,7 +593,8 @@ StTooltip StLabel {
 .remove-favorite > .overview-icon,
 .search-result-content > .overview-icon {
     border-radius: 4px;
-    padding: 4px;
+    padding: 3px;
+    border: 1px rgba(0,0,0,0);
     font-size: 10px;
     color: white;
     transition-duration: 100;
@@ -618,6 +619,11 @@ StTooltip StLabel {
     transition-duration: 100;
 }
 
+.app-well-app:focus > .overview-icon,
+.search-result-content:focus > .overview-icon {
+    border: 1px solid #cccccc;
+}
+
 .app-well-menu {
     font-size: 12px
 }
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index b9f4b1f..0433cec 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -352,6 +352,7 @@ AppWellIcon.prototype = {
         this.actor = new St.Button({ style_class: 'app-well-app',
                                      reactive: true,
                                      button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO,
+                                     can_focus: true,
                                      x_fill: true,
                                      y_fill: true });
         this.actor._delegate = this;
@@ -361,6 +362,7 @@ AppWellIcon.prototype = {
 
         this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
         this.actor.connect('clicked', Lang.bind(this, this._onClicked));
+        this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
 
         this._menu = null;
         this._menuManager = new PopupMenu.PopupMenuManager(this);
@@ -437,6 +439,11 @@ AppWellIcon.prototype = {
         return false;
     },
 
+    _onKeyboardPopupMenu: function() {
+        this.popupMenu();
+        this._menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
+    },
+
     getId: function() {
         return this.app.get_id();
     },
@@ -454,6 +461,7 @@ AppWellIcon.prototype = {
                 if (!isPoppedUp)
                     this._onMenuPoppedDown();
             }));
+            Main.overview.connect('hiding', Lang.bind(this, function () { this._menu.close(); }));
 
             this._menuManager.addMenu(this._menu);
         }
diff --git a/js/ui/overview.js b/js/ui/overview.js
index 177295c..ad02d13 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -197,6 +197,10 @@ Overview.prototype = {
         this.dash.actor.add_constraint(this.viewSelector.constrainY);
         this.dash.actor.add_constraint(this.viewSelector.constrainHeight);
 
+        // Translators: this is the name of the dock/favorites area on
+        // the left of the overview
+        Main.ctrlAltTabManager.addGroup(this.dash.actor, _("Dash"), 'user-bookmarks');
+
     },
 
     _onDragBegin: function() {



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