From 043f042cec32eec259f4f3505670a62788331b85 Mon Sep 17 00:00:00 2001 From: Mario Sanchez Prada Date: Fri, 1 Dec 2017 20:40:41 +0000 Subject: [PATCH] altTab: Close the list of thumbnails in the switcher when closing an app This makes sure that no thumbnails list is left open and empty, since both the app's icon and all its thumbnails will be gone once the app is closed. https://bugzilla.gnome.org/show_bug.cgi?id=620106 --- js/ui/altTab.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 3a70c84a4..97bfe66e2 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -156,6 +156,17 @@ var AppSwitcherPopup = new Lang.Class({ this._items[this._selectedIndex].cachedWindows.length); }, + _quitApplication: function(appIndex) { + let appIcon = this._items[appIndex]; + if (!appIcon) + return; + + // Make sure the list of thumbnails is hidden before quitting the + // application, not to keep an empty list of windows showing up. + this._select(appIndex, null, false); + appIcon.app.request_quit(); + }, + _keyPressHandler: function(keysym, action) { if (action == Meta.KeyBindingAction.SWITCH_GROUP) { if (!this._thumbnailsFocused) @@ -176,7 +187,7 @@ var AppSwitcherPopup = new Lang.Class({ else if (keysym == Clutter.Up) this._select(this._selectedIndex, null, true); else if (keysym == Clutter.q) - this._items[this._selectedIndex].app.request_quit(); + this._quitApplication(this._selectedIndex); else return Clutter.EVENT_PROPAGATE; } else { @@ -187,7 +198,7 @@ var AppSwitcherPopup = new Lang.Class({ else if (keysym == Clutter.Down) this._select(this._selectedIndex, 0); else if (keysym == Clutter.q) - this._items[this._selectedIndex].app.request_quit(); + this._quitApplication(this._selectedIndex); else return Clutter.EVENT_PROPAGATE; }