mutter/src/wayland
Jonas Ådahl cda26b493e wayland: Only use async configured geometry if actually changed
When (un)maximizing, (un)fullscreening, the move/resize action is
flagged with 'ACTION_MOVE' and 'ACTION_RESIZE' , while e.g.
'appears-focus' does not.

When a client misbehaved and didn't immediately reply to a configure
request with a commit with the corresponding ack_configure, the
following commit would trigger a oddly timed move, making the window
appear to move back to a previous position.

Avoid this issue by only carrying over the target window position if the
configuration actually contained a new position.

We cannot only rely on the flags however, as e.g. a new position should
be respected during interactive resize, even though only 'ACTION_RESIZE'
is passed in such scenarios.

Do the same for the size, except if the window state dictates that the
size is fixed to a certain size, e.g. being fullscreen or maximized.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1445>
2021-01-30 09:49:13 +00:00
..
protocol wayland/gtk-shell: Add an explicit gtk-shell surface release request 2021-01-29 16:21:16 +00:00
meta-cursor-sprite-wayland.c cursor-renderer/native: Fetch instead of pass wl_buffer when realizing 2018-06-15 19:09:53 +00:00
meta-cursor-sprite-wayland.h cursor-renderer/native: Fetch instead of pass wl_buffer when realizing 2018-06-15 19:09:53 +00:00
meta-pointer-confinement-wayland.c backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-pointer-confinement-wayland.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-pointer-lock-wayland.c clutter: Drop clutter_input_device_get_coords() method 2020-11-27 15:14:33 +00:00
meta-pointer-lock-wayland.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-selection-source-wayland-private.h wayland: Move MetaWaylandDataSourcePrimary to its own file 2020-04-17 00:46:23 +02:00
meta-selection-source-wayland.c wayland: Simplify MetaSelectionSourceWayland 2019-10-11 23:04:01 +02:00
meta-wayland-actor-surface.c wayland/actor-surface: Always set opaque region on alpha-less textures 2020-10-02 15:09:12 +00:00
meta-wayland-actor-surface.h wayland: Drive frame callbacks from stage updates 2020-05-26 16:46:57 +02:00
meta-wayland-buffer.c native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-wayland-buffer.h wayland/shm: Advertise support for RGB565 2020-08-07 09:02:49 +00:00
meta-wayland-client.c wayland/client: Free GSubprocessLauncher after spawning 2020-10-02 15:37:52 +00:00
meta-wayland-cursor-surface.c clutter: Drop clutter_input_device_get_coords() method 2020-11-27 15:14:33 +00:00
meta-wayland-cursor-surface.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-data-device-primary-legacy.c wayland: Add versions to primary selection protocols 2020-09-27 17:20:23 +02:00
meta-wayland-data-device-primary-legacy.h wayland: Rename gtk primary protocol files to "legacy" 2020-05-13 18:18:14 +02:00
meta-wayland-data-device-primary.c wayland: Add versions to primary selection protocols 2020-09-27 17:20:23 +02:00
meta-wayland-data-device-primary.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-device.c clutter: Drop clutter_input_device_get_modifier_state() API 2020-11-27 15:14:33 +00:00
meta-wayland-data-device.h wayland: Send clipboard offers to all data devices from the same client 2020-05-13 14:44:55 +00:00
meta-wayland-data-offer-primary-legacy.c wayland: Free selection streams streams after transfer 2020-06-08 12:11:11 +00:00
meta-wayland-data-offer-primary-legacy.h wayland: Rename gtk primary protocol files to "legacy" 2020-05-13 18:18:14 +02:00
meta-wayland-data-offer-primary.c wayland: Free selection streams streams after transfer 2020-06-08 12:11:11 +00:00
meta-wayland-data-offer-primary.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-offer.c wayland: Free selection streams streams after transfer 2020-06-08 12:11:11 +00:00
meta-wayland-data-offer.h wayland: Move primary data offers to their own file 2020-04-17 00:46:23 +02:00
meta-wayland-data-source-primary-legacy.c wayland: Rename gtk primary protocol files to "legacy" 2020-05-13 18:18:14 +02:00
meta-wayland-data-source-primary-legacy.h wayland: Rename gtk primary protocol files to "legacy" 2020-05-13 18:18:14 +02:00
meta-wayland-data-source-primary.c wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-source-primary.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-source.c wayland: Split MetaWaylandDataSource into a separate file 2020-04-17 00:46:21 +02:00
meta-wayland-data-source.h wayland: Split MetaWaylandDataSource into a separate file 2020-04-17 00:46:21 +02:00
meta-wayland-dma-buf.c native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-wayland-dma-buf.h wayland: Add API to acquire a CoglScanout from a surface 2020-04-16 15:05:52 +02:00
meta-wayland-dnd-surface.c backends: Use graphene_point_t on meta_cursor_tracker_get_pointer() 2020-11-27 15:14:33 +00:00
meta-wayland-dnd-surface.h wayland: Move DND surface role into its own file 2019-01-22 18:32:28 +01:00
meta-wayland-egl-stream.c wayland/egl-stream: Cache texture snippet 2020-01-10 16:01:21 +00:00
meta-wayland-egl-stream.h wayland/egl-stream: Cache texture snippet 2020-01-10 16:01:21 +00:00
meta-wayland-gtk-shell.c wayland/gtk-shell: Add an explicit gtk-shell surface release request 2021-01-29 16:21:16 +00:00
meta-wayland-gtk-shell.h wayland: Add MetaWaylandGtkShell object 2018-11-27 15:34:13 +01:00
meta-wayland-inhibit-shortcuts-dialog.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 15:02:27 +00:00
meta-wayland-inhibit-shortcuts-dialog.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-inhibit-shortcuts.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 15:02:27 +00:00
meta-wayland-inhibit-shortcuts.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-input-device.c wayland/input-device: Add next serial helper 2016-10-11 22:51:50 +08:00
meta-wayland-input-device.h wayland/input-device: Add next serial helper 2016-10-11 22:51:50 +08:00
meta-wayland-keyboard.c clutter: Move evdev evcode data to Clutter button/key events 2020-12-08 15:37:38 +00:00
meta-wayland-keyboard.h wayland/keyboard: Use MetaAnonymousFile to share keymap files 2020-04-21 17:52:08 +02:00
meta-wayland-legacy-xdg-shell.c wayland/xdg-shell: Warn when invalid geometry is set 2020-12-03 21:39:13 +00:00
meta-wayland-legacy-xdg-shell.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-outputs.c Make meta_* logging utilities not require line break 2020-10-08 16:38:41 +02:00
meta-wayland-outputs.h wayland: Advertise MetaMonitor as wl_output 2020-02-11 18:56:13 +00:00
meta-wayland-pointer-constraints.c wayland: Ensure pointer constraint region consistency 2021-01-12 12:32:24 +01:00
meta-wayland-pointer-constraints.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-pinch.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-pinch.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-swipe.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-swipe.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gestures.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gestures.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer.c wayland: Repick (again) on pointer motion 2020-12-28 19:11:26 +01:00
meta-wayland-pointer.h wayland: Drop meta_wayland_compositor_repick() 2020-12-23 12:54:49 +01:00
meta-wayland-popup.c wayland: Avoid popup grab focus changes if there's an implicit grab 2020-06-17 13:47:38 +00:00
meta-wayland-popup.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-private.h xwayland: Start Xwayland on connection to either public X11 socket 2021-01-21 08:48:39 +01:00
meta-wayland-region.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-region.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-seat.c wayland: Drop meta_wayland_compositor_repick() 2020-12-23 12:54:49 +01:00
meta-wayland-seat.h wayland: Drop meta_wayland_compositor_repick() 2020-12-23 12:54:49 +01:00
meta-wayland-shell-surface.c compositor: Trigger repick after window effects here 2020-12-23 12:54:49 +01:00
meta-wayland-shell-surface.h wayland: Rework asynchronous window configuration 2019-12-09 10:09:40 +01:00
meta-wayland-subsurface.c wayland/subsurface: Don't include buffer-less subsurfaces in geometry 2020-12-03 21:39:13 +00:00
meta-wayland-subsurface.h wayland: Push actor state instead of itself pulling 2018-02-23 18:57:47 +08:00
meta-wayland-surface.c wayland: Don't explicitly repick on wl_surface destructor 2020-12-22 18:27:37 +01:00
meta-wayland-surface.h wayland/surface: Don't update outputs recursively on mapped changes 2020-08-29 12:40:11 +00:00
meta-wayland-tablet-cursor-surface.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-cursor-surface.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-manager.c core: Centralize cursor renderer and tracker updates 2020-11-27 15:14:33 +00:00
meta-wayland-tablet-manager.h core: Centralize cursor renderer and tracker updates 2020-11-27 15:14:33 +00:00
meta-wayland-tablet-pad-group.c clutter: Add vmethod to find out group for pad features 2020-11-27 15:14:34 +00:00
meta-wayland-tablet-pad-group.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad-ring.c Pass -D_GNU_SOURCE instead of defining it in source 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad-ring.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad-strip.c Pass -D_GNU_SOURCE instead of defining it in source 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad-strip.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad.c clutter: Add vmethod to find out group for pad features 2020-11-27 15:14:34 +00:00
meta-wayland-tablet-pad.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-seat.c wayland: Drop needless includes 2020-12-23 12:54:49 +01:00
meta-wayland-tablet-seat.h wayland: Replace ClutterDeviceManager usage in favor of ClutterSeat 2020-01-30 18:02:34 +01:00
meta-wayland-tablet-tool.c clutter: Move evdev evcode data to Clutter button/key events 2020-12-08 15:37:38 +00:00
meta-wayland-tablet-tool.h core: Centralize cursor renderer and tracker updates 2020-11-27 15:14:33 +00:00
meta-wayland-tablet.c Pass -D_GNU_SOURCE instead of defining it in source 2018-11-06 17:17:36 +01:00
meta-wayland-tablet.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-text-input-legacy.c clutter: Prepare input focus for IM event delivery 2020-08-31 08:40:12 +00:00
meta-wayland-text-input-legacy.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-text-input.c wayland: Reword comment 2020-08-31 08:40:12 +00:00
meta-wayland-text-input.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-touch.c wayland: Drop HAVE_BACKEND_NATIVE checks in wl_touch implementation 2020-12-08 15:37:38 +00:00
meta-wayland-touch.h wayland: Simplify wl_touch.frame handling 2020-10-23 18:48:18 +00:00
meta-wayland-types.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-versions.h wayland/gtk-shell: Add an explicit gtk-shell surface release request 2021-01-29 16:21:16 +00:00
meta-wayland-viewporter.c wayland/surface: Rename MetaWaylandPendingState to MetaWaylandSurfaceState 2019-12-09 10:09:40 +01:00
meta-wayland-viewporter.h wayland/surface: Add support for wp_viewporter 2019-02-06 12:24:03 +00:00
meta-wayland-window-configuration.c wayland: Only use async configured geometry if actually changed 2021-01-30 09:49:13 +00:00
meta-wayland-window-configuration.h wayland: Only use async configured geometry if actually changed 2021-01-30 09:49:13 +00:00
meta-wayland-wl-shell.c wayland/window: Don't lose precision in MetaWaylandWindowConfiguration 2020-10-29 10:24:25 +01:00
meta-wayland-wl-shell.h wayland: Restructure surface role building blocks code 2018-02-23 18:57:40 +08:00
meta-wayland-xdg-foreign.c wayland: Don't access MetaWaylandSurface::window directly 2020-02-19 22:34:28 +00:00
meta-wayland-xdg-foreign.h wayland: Add support for the xdg-foreign protocol 2016-08-22 21:03:41 +08:00
meta-wayland-xdg-shell.c wayland/xdg-shell: Warn on invalid effective geometry 2020-12-03 21:39:13 +00:00
meta-wayland-xdg-shell.h wayland: Add support for stable xdg-shell 2018-02-23 18:57:53 +08:00
meta-wayland.c xwayland: Split Xwayland display name getter into two 2021-01-25 15:14:35 +00:00
meta-wayland.h xwayland: Split Xwayland display name getter into two 2021-01-25 15:14:35 +00:00
meta-window-wayland.c wayland: Only use async configured geometry if actually changed 2021-01-30 09:49:13 +00:00
meta-window-wayland.h wayland/xdg-shell: Add support for explicit popup repositioning 2020-02-29 21:01:50 +00:00
meta-window-xwayland.c xwayland: Protect against MetaX11Display abruptly closing 2020-10-21 18:57:12 +02:00
meta-window-xwayland.h xwayland: Add MetaWindowXwayland 2017-12-18 13:15:09 +01:00
meta-xwayland-dnd-private.h wayland: Reduce MetaXWaylandSelection to just DnD 2019-05-02 16:31:45 +02:00
meta-xwayland-dnd.c clutter: Drop clutter_input_device_get_coords() method 2020-11-27 15:14:33 +00:00
meta-xwayland-grab-keyboard.c xwayland: Match applications without WM_CLASS nor WM_NAME 2020-11-06 15:57:23 +01:00
meta-xwayland-grab-keyboard.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-xwayland-private.h xwayland: Set xrandr primary output 2020-12-11 13:44:45 +00:00
meta-xwayland-surface.c compositor: Trigger repick after window effects here 2020-12-23 12:54:49 +01:00
meta-xwayland-surface.h xwayland: Move out surface role related logic 2020-02-19 22:34:28 +00:00
meta-xwayland.c xwayland: Check for listenfd option 2021-01-22 11:40:30 +01:00
meta-xwayland.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00