altTab: Move input focus to target window before dropping the grab

We chain up on _finish() to drop the grab and destroy the switcher
popup but we should activate the target window first because dropping
the grab results in the previously focused windows getting a focus in
event immediately followed by the focus out event from the target
window activation which we can easily avoid.

https://bugzilla.gnome.org/show_bug.cgi?id=696259
This commit is contained in:
Rui Matos 2013-03-22 16:21:18 +01:00
parent b7dbb35546
commit bf02cde598

View File

@ -232,11 +232,11 @@ const AppSwitcherPopup = new Lang.Class({
}, },
_finish : function(timestamp) { _finish : function(timestamp) {
this.parent();
let appIcon = this._items[this._selectedIndex]; let appIcon = this._items[this._selectedIndex];
let window = this._currentWindow > 0 ? this._currentWindow : 0; let window = this._currentWindow > 0 ? this._currentWindow : 0;
appIcon.app.activate_window(appIcon.cachedWindows[window], timestamp); appIcon.app.activate_window(appIcon.cachedWindows[window], timestamp);
this.parent();
}, },
_onDestroy : function() { _onDestroy : function() {
@ -395,9 +395,9 @@ const WindowSwitcherPopup = new Lang.Class({
}, },
_finish: function() { _finish: function() {
this.parent();
Main.activateWindow(this._items[this._selectedIndex].window); Main.activateWindow(this._items[this._selectedIndex].window);
this.parent();
} }
}); });