mirror of
https://github.com/swaywm/sway.git
synced 2026-02-05 04:06:25 -05:00
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. |
||
|---|---|---|
| .. | ||
| desktop | ||
| input | ||
| tree | ||
| commands.h | ||
| config.h | ||
| criteria.h | ||
| decoration.h | ||
| ipc-json.h | ||
| ipc-server.h | ||
| layers.h | ||
| lock.h | ||
| output.h | ||
| scene_descriptor.h | ||
| server.h | ||
| sway_text_node.h | ||
| swaynag.h | ||
| xdg_decoration.h | ||
| xwayland.h | ||