gnome-shell/js
Sebastian Keller 6d3df381b3 workspace: Scale slots to current workspace size when layout is frozen
The transition from the overview freezes the workspace layout at the
start of the animation, which means that the calculated window slots
remain the same while the workspace itslef grows. This causes the
windows to appear slightly shrunk in comparison to the workspace and
shifted to the top left. This is especially noticeable during the
beginning of the animation when there is more weight on the slots than
the original window position and if there are not that many open
windows.

Unfreezing the layout for this transition is not possible, because it
would cause issues with newly opened windows abruptly changing the
layout when the animation happens after starting a new app.

This change instead tries to scale the frozen layout to the current
workspace size. While this is not entirely correct, because this scales
the spacing between the slots as well, it is still more accurate than
the completely unscaled slots.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4616
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1980>
2022-03-06 00:16:50 +00:00
..
dbusServices js: Simplify promisify() calls 2022-02-11 16:24:01 +00:00
gdm js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
misc signalTracker: Explicitly register destroyable types 2022-03-06 00:10:03 +00:00
perf cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
portalHelper cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
ui workspace: Scale slots to current workspace size when layout is frozen 2022-03-06 00:16:50 +00:00
js-resources.gresource.xml signalTracker: Provide monkey-patching for (dis)connectObject() 2022-03-04 14:14:37 +00:00
meson.build extensions-app: Move Extensions app to new subproject 2020-03-27 23:33:30 +00:00
portal-resources.gresource.xml js: Remove unused files from resources 2020-03-09 13:18:48 +00:00