Add xdg-toplevel-drag protocol
This protocol allows applications to request that a window is moved at the same time as a drag operation - effectively dragging windows. With this features such as detaching a tab from a window and reattaching it, dragging tabs between windows or (un)dockable tool windows can be implemented. Based on the previously proposed extended drag protocol but trimmed down.
Signed-off-by: David Redondo kde@david-redondo.de
The previous proposal was !46 (closed),
Requirements for merging
-
Review: @zzag -
Implementations -
ACKs from members - Mir: @RAOF
- KDE: @davidedmundson
- Qt: @eskilblomfeldt
- GNOME: @carlosg
Videos showing the Qt and KWin implementation in action:
Chrome in KWin:
Merge request reports
Activity
- Resolved by David Redondo
The previous proposal was !46 (closed)
But modified as explained in !46 (comment 1819437). Locking the cursor does not belong in this protocol. As the (un)swallow requests were never implemented this new proposal should also work fit the Chrome use case.
added In 30 day discussion period Needs acks Needs review New Protocol labels
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
- Resolved by David Redondo
It looks like this finally gets QDockWidget working correctly on native Wayland? That's exciting! It would be great to be able to finally run Qt apps like Audacious natively.
I don't see anyone from the wlroots project chiming in yet (@emersion?) but if/when a draft implementation in wlroots is available, I would be interested in adding compositor-side support in labwc.
Edited by John Lindgren
- Resolved by David Redondo
How can I move this forward?
We are getting close to a feature freeze in Qt for the version which we expect the initial Plasma 6 release to ship with , and it's a really important aspect that we want to fix in our Wayland session. The current state is broken and unusable for key applications in a way that some straight up disable running on Wayland.
As it looks like not everyone is interested in such a protocol I would be also happy to move it to the ext namespace.