Skip to content

wayland: Implement xdg-toplevel-drag-v1

Nick Yamane requested to merge nickdiego/mutter:wip/xdg-toplevel-drag into main

Summary:

This implements the xdg-toplevel-drag-v1 protocol. The tests have been performed manually using Chromium 132, which relies on it to implement its tab dragging feature.

Demos:

Mutter Gnome Shell
xdg-toplevel-drag_mutter-poc-1_2024-10-15 xdg-toplevel-drag_mutter_gnome-shell_demo_2024-10-25

Implementation status:

  • Basic window drag triggering
  • Exclude the dragged window from event targets
  • Event forwarding (window drag vs wayland grabs)
  • Offset calculation relative to toplevel geometry
  • Attach already mapped windows
  • Properly support not-yet-mapped windows
  • Disable visibility change animations
  • Dnd events stream adaptations

Closes: #3390 (closed)

Edited by Nick Yamane

Merge request reports

Loading