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: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/364>
This commit is contained in:
@@ -903,10 +903,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');
|
||||
|
||||
@@ -943,10 +944,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);
|
||||
|
||||
Reference in New Issue
Block a user