1
0
Fork 0
mutter-performance-source/src
Georges Basile Stavracas Neto 822c2666f5 window: Let implementations finish state changes
In the old, synchronous X.org world, we could assume that
a state change always meant a synchronizing the window
geometry right after. After firing an operation that
would change the window state, such as maximizing or
tiling the window,

With Wayland, however, this is not valid anymore, since
Wayland is asynchronous. In this scenario, we call
meta_window_move_resize_internal() twice: when the user
executes an state-changing operation, and when the server
ACKs this operation. This breaks the previous assumptions,
and as a consequence, it breaks the GNOME Shell animations
in Wayland.

The solution is giving the MetaWindow control over the time
when the window geometry is synchronized with the compositor.
That is done by introducing a new result flag. Wayland asks
for a compositor sync after receiving an ACK from the server,
while X11 asks for it right away.

Fixes #78
2018-04-25 21:55:05 -03:00
..
backends native: Restore previous EGL state after blitting onto secondary GPU 2018-04-25 17:22:24 +02:00
compositor wayland: Abstract access to the actor corresponding to a wl_surface 2018-04-23 12:24:46 +02:00
core window: Let implementations finish state changes 2018-04-25 21:55:05 -03:00
meta window: rename get_flatpack_id into get_sandboxed_app_id 2017-10-21 13:36:16 -05:00
tests monitor-unit-tests: Add non upright panel test 2017-12-25 17:01:45 +08:00
ui theme, frames: Use surface device scale instead of cairo_scale 2018-04-20 14:38:57 +00:00
wayland window: Let implementations finish state changes 2018-04-25 21:55:05 -03:00
x11 window: Let implementations finish state changes 2018-04-25 21:55:05 -03:00
.cvsignore Install desktop files in both .../share/applications and 2008-09-12 04:05:17 +00:00
libmutter.pc.in Make libmutter and friends parallel installable 2017-02-14 11:16:45 +08:00
Makefile-tests.am src/Makefile-tests.am: Remove reference to non-existing file 2017-09-02 11:09:28 +08:00
Makefile.am idle-monitor: Take idle inhibition into account 2018-04-16 13:28:03 +02:00
meta-enum-types.c.in Install enum types 2015-07-05 22:01:59 -07:00
meta-enum-types.h.in Install enum types 2015-07-05 22:01:59 -07:00
org.freedesktop.login1.xml MetaLauncher: Don't g_error() on failure 2015-11-06 17:03:59 -05:00
org.gnome.Mutter.DisplayConfig.xml DisplayConfig: Add 'legacy-ui-scaling-factor' property 2017-10-12 17:42:52 +08:00
org.gnome.Mutter.IdleMonitor.xml idle-monitor: Add ResetIdletime API, for testing purposes 2018-04-16 13:28:03 +02:00
org.gnome.Mutter.RemoteDesktop.xml remote-desktop, screen-cast: Add version number to D-Bus APIs 2018-02-23 19:33:31 +08:00
org.gnome.Mutter.ScreenCast.xml remote-desktop, screen-cast: Add version number to D-Bus APIs 2018-02-23 19:33:31 +08:00