workspace-indicator: 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 b9d2a445b2.

Fixes: b9d2a445 ("workspace-indicator: Initialize preview visibility")
Closes:
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/469

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:40:05 +01:00
committed by Marge Bot
parent 91a1b8245b
commit 25a75e1b0e
+6 -1
View File
@@ -49,7 +49,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);
@@ -61,6 +60,12 @@ class WindowPreview extends St.Button {
return this._window;
}
vfunc_map() {
super.vfunc_map();
// initialize visibility after being added to the stage
setTimeout(() => this._updateVisible());
}
_onFocusChanged() {
if (global.display.focus_window === this._window)
this.add_style_class_name('active');