mutter/src/x11
Carlos Garnacho f2237fa0c8 x11: Add frame synchronization to window frames
There's two meanings of "frame" there! Since SSD frames are now
rendered by an external client, and there are no actual mechanism
that ensures the frame did already get painted when the client did
respond to its NET_WM_FRAME_SYNC_REQUEST request, there may be
artifacts when resizing windows.

In order to get always the best visual result, we should actually
synchronize rendering with both the client window and the window
frame window.

This commit adds these mechanisms, so a sync alarm update is
expected on both windows until further resizes are allowed, this
ensures window and frame stay in sync, even after moving rendering
elsewhere.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2175>
2022-12-01 20:10:53 +00:00
..
atomnames.h x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
events.c x11: Decouple sync alarms from window XIDs 2022-12-01 20:10:53 +00:00
events.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
group-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
group-props.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
group-props.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
group.c mutter: Add missing nullable annotation when possible 2022-04-05 14:05:23 +02:00
iconcache.c iconcache: Avoid xrender picture formats when creating cairo surface 2019-08-27 18:47:41 +03:00
iconcache.h Move X11 event, icon cache and property handling to MetaX11Display 2018-07-06 19:47:16 +02:00
meta-selection-source-x11-private.h Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-selection-source-x11.c x11: Let selection input streams create their own window 2022-01-07 02:21:28 +01:00
meta-startup-notification-x11.c startup-notification/x11: Fix indentation 2022-09-19 14:46:01 +00:00
meta-startup-notification-x11.h x11: Add method to launch applications, using SnLauncher 2019-01-18 17:03:57 +00:00
meta-sync-counter.c x11: Add intermediate helper function to update X11 window after sync 2022-12-01 20:10:53 +00:00
meta-sync-counter.h compositor: Move frame drawn x11 management to MetaSyncCounter 2022-12-01 20:10:52 +00:00
meta-x11-display-private.h x11: Decouple sync alarms from window XIDs 2022-12-01 20:10:53 +00:00
meta-x11-display.c x11: Decouple sync alarms from window XIDs 2022-12-01 20:10:53 +00:00
meta-x11-errors.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-x11-selection-input-stream-private.h x11: Let selection input streams create their own window 2022-01-07 02:21:28 +01:00
meta-x11-selection-input-stream.c x11/input-selection-stream: Handle Xwayland going away 2022-05-31 12:00:55 +00:00
meta-x11-selection-output-stream-private.h x11: Add X11 selection input/output streams 2019-05-02 15:40:13 +02:00
meta-x11-selection-output-stream.c x11: Do not trust there is task in error paths 2020-04-16 16:26:04 +00:00
meta-x11-selection-private.h Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-x11-selection.c x11/selection: Unset selection ownership on shutdown 2022-05-31 12:00:54 +00:00
meta-x11-stack-private.h x11: Add MetaX11Stack object 2019-05-24 15:30:31 +00:00
meta-x11-stack.c backends: Shuffle ClutterBackendX11 code into MetaClutterBackendX11 2021-07-16 19:08:06 +02:00
meta-x11-window-control.c x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
meta-x11-window-control.h x11/window-controls: Pass around MetaX11Display directly 2019-10-15 07:17:29 +00:00
mutter-Xatomtype.h mutter-Xatomtype: Fix the sizes of these structs 2015-06-23 11:46:29 -07:00
session.c x11/session: Set the context as client data on connection watch 2022-09-02 17:52:41 +00:00
session.h x11/session: Use MetaContext to terminate instead of meta_quit() 2021-07-15 11:34:37 +02:00
window-props.c x11: Add frame synchronization to window frames 2022-12-01 20:10:53 +00:00
window-props.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
window-x11-private.h x11: Add intermediate helper function to update X11 window after sync 2022-12-01 20:10:53 +00:00
window-x11.c x11: Add frame synchronization to window frames 2022-12-01 20:10:53 +00:00
window-x11.h x11: Decouple sync alarms from window XIDs 2022-12-01 20:10:53 +00:00
xprops.c x11: Add "source_xwindow" parameter to MetaPropValue 2022-12-01 20:10:53 +00:00
xprops.h x11: Add "source_xwindow" parameter to MetaPropValue 2022-12-01 20:10:53 +00:00