[gnome-shell] Select next window from the current app on alt+tab
- From: Dan Winship <danw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-shell] Select next window from the current app on alt+tab
- Date: Sun, 4 Oct 2009 16:46:06 +0000 (UTC)
commit 26015ef16d22027d14ed32dbea353480628a3708
Author: Steve Frécinaux <code istique net>
Date: Thu Oct 1 11:23:00 2009 +0200
Select next window from the current app on alt+tab
This slightly changes the behaviour of the alt+tab window, this way:
when using alt-tab on a workspace that contains two or more windows from
the same window, the application selected when hitting alt+tab is the
currently selected application, but the highlighted window is the next
one.
Intended goal is to make it easier to cycle around windows of the same
application while not having to cycle through all the applications first.
https://bugzilla.gnome.org/show_bug.cgi?id=590563
js/ui/altTab.js | 16 ++++++++++++++--
js/ui/windowManager.js | 2 +-
2 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/altTab.js b/js/ui/altTab.js
index 74cb69f..6ff06aa 100644
--- a/js/ui/altTab.js
+++ b/js/ui/altTab.js
@@ -86,7 +86,7 @@ AltTabPopup.prototype = {
this._appsBox.add_actor(box);
},
- show : function(initialSelection) {
+ show : function(backward) {
let appMonitor = Shell.AppMonitor.get_default();
let apps = appMonitor.get_running_apps ("");
@@ -138,7 +138,19 @@ AltTabPopup.prototype = {
this.actor.x = primary.x + Math.floor((primary.width - this.actor.width) / 2);
this.actor.y = primary.y + Math.floor((primary.height - this.actor.height) / 2);
- this._updateSelection(initialSelection);
+ if (!backward && this._icons[this._selected].windows.length > 1) {
+ let candidateWindow = this._icons[this._selected].windows[1];
+ if (candidateWindow.get_workspace() == activeWorkspace) {
+ this._currentWindows[this._selected] = candidateWindow;
+ this._updateSelection(0);
+ }
+ else {
+ this._updateSelection(1);
+ }
+ }
+ else {
+ this._updateSelection(backward ? -1 : 1);
+ }
// There's a race condition; if the user released Alt before
// we got the grab, then we won't be notified. (See
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index c01a510..46e5964 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -274,7 +274,7 @@ WindowManager.prototype = {
_startAppSwitcher : function(shellwm, binding, window, backwards) {
let tabPopup = new AltTab.AltTabPopup();
- if (!tabPopup.show(backwards ? -1 : 1))
+ if (!tabPopup.show(backwards))
tabPopup.destroy();
}
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]