workspaceAnimation: Do not create clones for override redirect windows

Override redirect windows manage their own positioning and size alone
and are always sticky, so we're not covering them either with the
animation MonitorsGroup, and thus there's no need to clone them or we'd
end up having two windows painted.

This was causing the shell tray icon window actors (that have no opacity
by default but that are override redirect) to show up during the
animation as their clone animation is not 0.

The other option would be hide them during the animation phase, but
there's no need for this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3285>
This commit is contained in:
Marco Trevisan (Treviño) 2024-04-26 19:23:58 +02:00 committed by Marco Trevisan
parent b7079b8f2f
commit 3a34c16eca

View File

@ -58,6 +58,9 @@ class WorkspaceGroup extends Clutter.Actor {
if (!window.showing_on_its_workspace() || this._isDesktopWindow(window))
return false;
if (window.is_override_redirect())
return false;
if (!this._windowIsOnThisMonitor(window))
return false;