mutter/src/core
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
..
bell.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
bell.h frame: Remove flashing support 2019-03-12 00:27:07 +00:00
boxes-private.h boxes: Add function to check if rectangle is adjacent to region 2021-08-04 14:02:16 +00:00
boxes.c boxes: Swap 90 and 270 degree transforms in meta_rectangle_transform() 2022-07-26 18:41:43 +00:00
constraints.c window/wayland: Calculate position also for acked fullscreen configs 2022-10-10 18:16:51 +00:00
constraints.h window: Implement asynchronous popup moving 2020-02-29 21:01:50 +00:00
delete.c core: Drop the default close dialog implementation 2022-05-06 16:13:45 +02:00
display-private.h window: Throttle resize-grab updates to stage updates 2022-10-18 18:12:03 +00:00
display.c x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
edge-resistance.c core: Drop code to do edge resistance on timeouts 2021-10-25 15:45:35 +02:00
edge-resistance.h core: Drop code to do edge resistance on timeouts 2021-10-25 15:45:35 +02:00
events.c x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
events.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
frame.c x11: Add frame synchronization to window frames 2022-12-01 20:10:53 +00:00
frame.h x11: Add frame synchronization to window frames 2022-12-01 20:10:53 +00:00
keybindings-private.h keybindings: Use proper enum type in MetaKeyHandler 2022-11-24 12:25:29 +00:00
keybindings.c core: Drop code to do edge resistance on timeouts 2021-10-25 15:45:35 +02:00
meta-accel-parse.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-accel-parse.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-anonymous-file.c Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-anonymous-file.h Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-border.c MetaBorder: Use float constants and functions instead of double variants 2016-02-16 19:02:48 +08:00
meta-border.h Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-clipboard-manager.c core: Free clipboard selection source on shutdown 2020-06-08 12:11:11 +00:00
meta-clipboard-manager.h core: Add clipboard manager 2019-05-02 16:22:45 +02:00
meta-close-dialog.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-context-main.c x11: Let X11 connection owners call XSynchronize() themselves 2022-06-03 13:43:26 +00:00
meta-context-main.h Introduce MetaContextMain 2021-07-15 11:25:21 +02:00
meta-context-private.h x11: Let X11 connection owners call XSynchronize() themselves 2022-06-03 13:43:26 +00:00
meta-context.c context: Add 'started' and 'prepare-shutdown' signals 2022-11-25 10:26:52 +00:00
meta-fraction.c Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-fraction.h Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-gesture-tracker-private.h display: Move finishing of touch sequence to the backend 2019-10-28 18:40:43 +00:00
meta-gesture-tracker.c gesture-tracker: Never reject sequences in Wayland sessions 2022-11-04 19:09:56 +00:00
meta-inhibit-shortcuts-dialog-default-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-inhibit-shortcuts-dialog-default.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-inhibit-shortcuts-dialog.c core: add MetaInhibitShortcutsDialog 2017-08-02 11:58:55 +02:00
meta-launch-context.c Consistently pass timestamp as uint64 when creating MetaStartupSequence 2022-09-02 15:21:27 +00:00
meta-pad-action-mapper.c monitor: Allow vendor/product/serial to return NULL 2022-09-01 14:31:40 +00:00
meta-pad-action-mapper.h backends: Split pad action mapping to a separate object 2020-11-27 15:14:33 +00:00
meta-private-enums.h window: Move some display level window processing to MetaDisplay 2022-02-07 17:52:05 +00:00
meta-profiler.c profiler: Allow enable tracing via env var 2022-11-01 21:04:21 +00:00
meta-profiler.h Move MetaProfiler from the backend to core 2022-11-01 21:04:21 +00:00
meta-selection-private.h core: Add private function to get the current selection owner 2020-04-09 21:30:05 +00:00
meta-selection-source-memory.c core: Fix task leak in meta_selection_source_memory_read_async 2020-02-01 14:02:19 +00:00
meta-selection-source-remote.c remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-selection-source-remote.h remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-selection-source.c Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-selection.c selection: Return an error if trying to transfer from NULL source 2022-05-31 12:00:55 +00:00
meta-sound-player.c sound player: Don't unref undefined fields 2022-11-23 10:37:19 +01:00
meta-workspace-manager-private.h tests/stacking: Add workspace management commands 2022-09-20 17:14:53 +00:00
meta-workspace-manager.c util: Remove push/pop no msg prefix logging 2021-11-21 20:53:33 +00:00
mutter.c mutter: Raise the NOFILE limit if a Wayland compositor 2022-02-07 16:11:47 +01:00
place.c Make meta_* logging utilities not require line break 2020-10-08 16:38:41 +02:00
place.h place: Make placement rule processing provide relative coordinates 2020-02-29 21:01:50 +00:00
prefs-private.h prefs: Make init function private 2021-05-17 16:08:42 +00:00
prefs.c prefs: Make init function private 2021-05-17 16:08:42 +00:00
restart-helper.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
restart.c restart: Make API that needs context take a context 2022-05-31 16:42:46 +00:00
stack-tracker.c util: Remove push/pop no msg prefix logging 2021-11-21 20:53:33 +00:00
stack-tracker.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
stack.c core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00
stack.h core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00
startup-notification-private.h meta, startup-notification: Make type declarations public 2019-01-24 16:38:09 +00:00
startup-notification.c startup-notification: Fix some introspection annotations 2022-04-13 12:03:27 +02:00
util-private.h util: Remove left-over declaration 2022-09-19 14:46:01 +00:00
util.c util: Add 'color' debug topic 2022-09-01 14:31:40 +00:00
window-private.h x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
window.c x11: Integrate frames client into Mutter 2022-12-01 20:10:53 +00:00
workspace-private.h core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00
workspace.c core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00