messageTray: Make it keyboard navigable in the overview

https://bugzilla.gnome.org/show_bug.cgi?id=681519
This commit is contained in:
Debarshi Ray 2012-08-09 02:30:13 +02:00 committed by Jasper St. Pierre
parent e8c8fecb35
commit 3da0e9e86a

View File

@ -14,6 +14,7 @@ const Signals = imports.signals;
const St = imports.gi.St; const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer; const BoxPointer = imports.ui.boxpointer;
const CtrlAltTab = imports.ui.ctrlAltTab;
const GnomeSession = imports.misc.gnomeSession; const GnomeSession = imports.misc.gnomeSession;
const GrabHelper = imports.ui.grabHelper; const GrabHelper = imports.ui.grabHelper;
const Main = imports.ui.main; const Main = imports.ui.main;
@ -1482,6 +1483,7 @@ const MessageTray = new Lang.Class({
summaryItem.actor.connect('clicked', Lang.bind(this, summaryItem.actor.connect('clicked', Lang.bind(this,
function (actor, button) { function (actor, button) {
actor.grab_key_focus();
this._onSummaryItemClicked(summaryItem, button); this._onSummaryItemClicked(summaryItem, button);
})); }));
@ -1894,9 +1896,13 @@ const MessageTray = new Lang.Class({
modal: !this._overviewVisible, modal: !this._overviewVisible,
onUngrab: Lang.bind(this, this._escapeTray) }); onUngrab: Lang.bind(this, this._escapeTray) });
// Don't move the windows up if we are in the overview. // Don't move the windows up if we are in the overview,
if (this._overviewVisible) // 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; return;
}
let bottomMonitor = Main.layoutManager.bottomMonitor; let bottomMonitor = Main.layoutManager.bottomMonitor;
let geometry = new Clutter.Geometry({ x: bottomMonitor.x, let geometry = new Clutter.Geometry({ x: bottomMonitor.x,
@ -1936,8 +1942,12 @@ const MessageTray = new Lang.Class({
transition: 'easeOutQuad' 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; return;
}
let geometry = this._desktopClone.clip; let geometry = this._desktopClone.clip;
Tweener.addTween(this._desktopClone, Tweener.addTween(this._desktopClone,