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
This commit is contained in:
Mitar 2020-09-03 07:51:44 +00:00 committed by Florian Müllner
parent f9ad8a378d
commit f7bcde6325

View File

@ -525,9 +525,23 @@ var CyclerPopup = GObject.registerClass({
var GroupCyclerPopup = GObject.registerClass( var GroupCyclerPopup = GObject.registerClass(
class GroupCyclerPopup extends CyclerPopup { class GroupCyclerPopup extends CyclerPopup {
_init() {
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.app-switcher' });
super._init();
}
_getWindows() { _getWindows() {
let app = Shell.WindowTracker.get_default().focus_app; 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) { _keyPressHandler(keysym, action) {