workspace: Set offscreen redirect on window previews

Window previews are sometimes shown translucent, for example during
drags or animations. They can also have attached dialogs, in which
case the opacity should affect the combination of all windows instead
of being applied to each window individually, blended together, so
make sure they are redirected as a whole when necessary.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/774
This commit is contained in:
Florian Müllner 2018-11-13 17:24:37 +01:00 committed by Florian Müllner
parent 51938c398a
commit 355b5eebec

View File

@ -130,6 +130,8 @@ var WindowClone = GObject.registerClass({
layout_manager: new WindowCloneLayout()
});
this.set_offscreen_redirect(Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
this.add_child(this._windowClone);
this._delegate = this;
@ -184,6 +186,10 @@ var WindowClone = GObject.registerClass({
this._closeRequested = false;
}
vfunc_has_overlaps() {
return this.hasAttachedDialogs();
}
set slot(slot) {
this._slot = slot;
}