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
This commit is contained in:
Dan Winship 2011-02-03 12:38:03 -05:00
parent fe16f2b058
commit 7aa326a836
3 changed files with 19 additions and 1 deletions

View File

@ -593,7 +593,8 @@ StTooltip StLabel {
.remove-favorite > .overview-icon, .remove-favorite > .overview-icon,
.search-result-content > .overview-icon { .search-result-content > .overview-icon {
border-radius: 4px; border-radius: 4px;
padding: 4px; padding: 3px;
border: 1px rgba(0,0,0,0);
font-size: 10px; font-size: 10px;
color: white; color: white;
transition-duration: 100; transition-duration: 100;
@ -618,6 +619,11 @@ StTooltip StLabel {
transition-duration: 100; transition-duration: 100;
} }
.app-well-app:focus > .overview-icon,
.search-result-content:focus > .overview-icon {
border: 1px solid #cccccc;
}
.app-well-menu { .app-well-menu {
font-size: 12px font-size: 12px
} }

View File

@ -352,6 +352,7 @@ AppWellIcon.prototype = {
this.actor = new St.Button({ style_class: 'app-well-app', this.actor = new St.Button({ style_class: 'app-well-app',
reactive: true, reactive: true,
button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO, button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO,
can_focus: true,
x_fill: true, x_fill: true,
y_fill: true }); y_fill: true });
this.actor._delegate = this; this.actor._delegate = this;
@ -361,6 +362,7 @@ AppWellIcon.prototype = {
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress)); this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
this.actor.connect('clicked', Lang.bind(this, this._onClicked)); this.actor.connect('clicked', Lang.bind(this, this._onClicked));
this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
this._menu = null; this._menu = null;
this._menuManager = new PopupMenu.PopupMenuManager(this); this._menuManager = new PopupMenu.PopupMenuManager(this);
@ -437,6 +439,11 @@ AppWellIcon.prototype = {
return false; return false;
}, },
_onKeyboardPopupMenu: function() {
this.popupMenu();
this._menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
},
getId: function() { getId: function() {
return this.app.get_id(); return this.app.get_id();
}, },
@ -454,6 +461,7 @@ AppWellIcon.prototype = {
if (!isPoppedUp) if (!isPoppedUp)
this._onMenuPoppedDown(); this._onMenuPoppedDown();
})); }));
Main.overview.connect('hiding', Lang.bind(this, function () { this._menu.close(); }));
this._menuManager.addMenu(this._menu); this._menuManager.addMenu(this._menu);
} }

View File

@ -197,6 +197,10 @@ Overview.prototype = {
this.dash.actor.add_constraint(this.viewSelector.constrainY); this.dash.actor.add_constraint(this.viewSelector.constrainY);
this.dash.actor.add_constraint(this.viewSelector.constrainHeight); 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() { _onDragBegin: function() {