[gnome-shell] altTab: Support cycle-group cycling only over windows in the workspace



commit f7bcde6325b812191262bc8ba79737d67a84e8e9
Author: Mitar <mitar gnome tnode com>
Date:   Thu Sep 3 07:51:44 2020 +0000

    altTab: Support cycle-group cycling only over windows in the workspace
    
    This is consistent with the filtering done for switch-group when
    org.gnome.shell.app-switcher current-workspace-only is set to true.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3116

 js/ui/altTab.js | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/altTab.js b/js/ui/altTab.js
index 3937469b7c..25683b55da 100644
--- a/js/ui/altTab.js
+++ b/js/ui/altTab.js
@@ -525,9 +525,23 @@ var CyclerPopup = GObject.registerClass({
 
 var GroupCyclerPopup = GObject.registerClass(
 class GroupCyclerPopup extends CyclerPopup {
+    _init() {
+        this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.app-switcher' });
+        super._init();
+    }
+
     _getWindows() {
         let app = Shell.WindowTracker.get_default().focus_app;
-        return app ? app.get_windows() : [];
+        let appWindows = app ? app.get_windows() : [];
+
+        if (this._settings.get_boolean('current-workspace-only')) {
+            const workspaceManager = global.workspace_manager;
+            const workspace = workspaceManager.get_active_workspace();
+            appWindows = appWindows.filter(
+                window => window.located_on_workspace(workspace));
+        }
+
+        return appWindows;
     }
 
     _keyPressHandler(keysym, action) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]