From bcf0be86afe15521cb98b410438963e79ddf9e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 3 Dec 2024 12:11:55 +0100 Subject: [PATCH] window-list: Untrack chrome while in overview The window list is set up to track the monitor's fullscreen state. Monitors are never considered in fullscreen while showing the overview, so if shell's layout manager updates the fullscreen visibility after we hid the bottom bar, it ends up being visible in the overview. To avoid this, untrack the actor while the overview is visible. Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/509 Part-of: (cherry picked from commit 981e8e42e20338b5488fefddf291970caf525bfc) --- extensions/window-list/extension.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index bc81c76a..e78021fe 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -772,10 +772,11 @@ class WindowList extends St.Widget { () => this._onWorkspaceMenuSet(), this); this._onWorkspaceMenuSet(); - Main.layoutManager.addChrome(this, { + const chromeOptions = { affectsStruts: true, trackFullscreen: true, - }); + }; + Main.layoutManager.addChrome(this, chromeOptions); Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox); Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic'); @@ -812,10 +813,12 @@ class WindowList extends St.Widget { Main.overview.connectObject( 'showing', () => { + Main.layoutManager.untrackChrome(this); this.hide(); this._updateKeyboardAnchor(); }, 'hidden', () => { + Main.layoutManager.trackChrome(this); this.visible = !this._monitor.inFullscreen; this._updateKeyboardAnchor(); }, this);