workspace: Disable preview overlays unless fully zoomed out

The overlays are only meant to be shown when the workspace is fully
zoomed out, not when using the floating layout or some in-between state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1345
This commit is contained in:
Florian Müllner 2020-06-26 17:06:38 +02:00
parent c134091268
commit b5d925817f

View File

@ -416,8 +416,11 @@ var WorkspaceLayout = GObject.registerClass({
upper: 1,
});
this._stateAdjustment.connect('notify::value', () =>
this.layout_changed());
this._stateAdjustment.connect('notify::value', () => {
[...this._windows.keys()].forEach(
preview => this._syncOverlay(preview));
this.layout_changed();
});
}
_isBetterLayout(oldLayout, newLayout) {
@ -632,6 +635,10 @@ var WorkspaceLayout = GObject.registerClass({
}
}
_syncOverlay(preview) {
preview.overlay_enabled = this._stateAdjustment.value === 1;
}
/**
* addWindow:
* @param {WindowPreview} window: the window to add
@ -665,6 +672,7 @@ var WorkspaceLayout = GObject.registerClass({
return winA.get_stable_sequence() - winB.get_stable_sequence();
});
this._syncOverlay(window);
this._container.add_child(window);
this._layout = null;