sway/include/sway
Ryan Walklin c65b7477b5 input/seat: track toplevel drag and move container during drag
Add support for tracking xdg-toplevel-drag operations and moving the
attached container during drag motion events.

Implementation detail:

- Track the dragged surface ourselves rather than trusting wlroots'
  toplevel pointer, which may not be NULLed promptly during destruction.
  This mirrors Mutter's approach with dragged_surface.

- Use find_xdg_view_with_toplevel_drag() which searches through sway's
  views and uses wlroots' wlr_xdg_toplevel_drag_v1_from_wlr_xdg_toplevel()
  for safe comparison, avoiding stale pointer access. There could be a
  better way to do this.

- Account for XDG surface geometry offset when positioning the container.

- Add container_floating_update_scene_position() helper that updates the
  scene graph position immediately, bypassing the transaction system's
  batching for smoother visual feedback during drag operations.

- Clean up container tracking in seatop_unref when container is destroyed.
2025-12-12 22:58:33 +13:00
..
desktop Revert "sway/tree: Simplify sway_node teardown" 2025-06-28 11:26:49 +02:00
input input/seat: track toplevel drag and move container during drag 2025-12-12 22:58:33 +13:00
tree input/seat: track toplevel drag and move container during drag 2025-12-12 22:58:33 +13:00
commands.h Add support for HDR10 output 2025-07-09 01:25:11 +02:00
config.h Add support for HDR10 output 2025-07-09 01:25:11 +02:00
criteria.h Add xdg_toplevel tag to criteria 2025-07-16 10:03:09 +02:00
decoration.h Handle views created after decoration mode is sent for xdg-shell 2018-08-06 15:20:30 +01:00
ipc-json.h sway: add non-desktop outputs to json when running swaymsg -t get_outputs 2022-09-19 07:26:45 -04:00
ipc-server.h ipc: add support for output event 2023-02-01 11:32:57 -05:00
layers.h Drop sway_output.events.disable 2025-07-02 21:21:53 +02:00
lock.h ext-session-lock: Do not use commit listener to arrange 2024-09-20 00:26:36 -04:00
output.h Add features.hdr to output IPC response 2025-07-09 01:25:11 +02:00
scene_descriptor.h scene_graph: Port xwayland 2024-01-18 18:36:54 +03:00
server.h server: add xdg-toplevel-drag-v1 manager 2025-12-12 16:51:20 +13:00
sway_text_node.h Introduce sway_text_node 2024-01-18 18:36:54 +03:00
swaynag.h swaynag: add printf attribute to swaynag_log() 2023-04-14 18:34:54 +02:00
xdg_decoration.h xdg-shell: chase events update 2023-11-23 19:41:57 +01:00
xwayland.h Parse missing i3 window types 2018-10-21 15:59:04 +02:00