46d5bccfc6
workspaceAnimation: Use window clones
...
Instead of reparenting windows, clone them. This will allow to properly
support multi-monitor setups in subsequent commits.
Block window mapping animation while the animation is running to prevent
new windows appearing during the animation from being visible at the same
time as their clones.
Fixes https://gitlab.gnome.org/GNOME/mutter/issues/929
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605
2020-02-26 10:36:10 +01:00
f0d498062d
workspaceAnimation: Only create moving window bin when needed
...
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605
2020-02-26 10:36:10 +01:00
eeac4a3b6d
workspaceAnimation: Extract WorkspaceGroup
...
Reimplement _syncStacking().
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605
2020-02-26 10:36:10 +01:00
272cb4d523
workspaceAnimation: Extract WorkspaceAnimation
...
Simplify the logic a bit. Introduce WorkspaceAnimation class that reparents
the windows from current, surrounding and destination workspaces and manages
them. Expose 'progress' property and have WorkspaceAnimationController animate
it instead of animating everything separately.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605
2020-02-26 10:36:10 +01:00
6d5446e4a6
workspaceAnimation: Stop depending on shellwm
...
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605
2020-02-26 10:36:10 +01:00
fa31bcaa7a
workspaceAnimation: Split from WindowManager
...
It's already too complex, and will get more complex in future, split it
out.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605
2020-02-26 10:36:10 +01:00