window-list: Only initialize preview visibility on map

The check whether the window overlaps with the monitor the actor
is on requires the actor to be added to the stage first, so delay
the initial visibility update that was added in commit f576f1b1b6.

Fixes: f576f1b1 ("window-list: Initialize preview visibility")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/286>
This commit is contained in:
Florian Müllner
2023-11-07 15:45:55 +01:00
committed by Marge Bot
parent 25a75e1b0e
commit 8b7cfff558

View File

@@ -43,7 +43,6 @@ class WindowPreview extends St.Button {
},
'notify::minimized', this._updateVisible.bind(this),
this);
this._updateVisible();
global.display.connectObject('notify::focus-window',
this._onFocusChanged.bind(this), this);
@@ -55,6 +54,12 @@ class WindowPreview extends St.Button {
return this._window;
}
vfunc_map() {
super.vfunc_map();
// initialize visibility after being added to the stage
this._updateVisible();
}
_onFocusChanged() {
if (global.display.focus_window === this._window)
this.add_style_class_name('active');