From 7aa326a8363d0fcdb57d61d981f23929c5ed0241 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 3 Feb 2011 12:38:03 -0500 Subject: [PATCH] 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 deletion(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index da69a3e67..cfcec9e0a 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 b9f4b1fb4..0433cec00 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 177295c43..ad02d1344 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() {