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:
parent
f9ad8a378d
commit
f7bcde6325
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user