Skip to content

Adapt to kwayland-server D&D changes. Remove internal roundtrip

David Edmundson requested to merge work/no_internal_drag into master

Change Rationale

Kwin currently uses KWayland::Client to talk to itself over a socket, this means every operation needs to be made async and we have complicated races and code to handle that.

Commits

Adapt to kwayland-server icon changes

The icon is a property of the active drag which is managed by Seat, the DataDevice should not cache this.


Use a direct connection for X to wayland drags

We already use a direct DataSource object for transfer.

Use of the new public SeatInterface::startDrag allows us to start our drag directly.


Drop the internal connection for wayland to X drags

An AbstractDragTarget is introduced. This contains either the DataDevice we are dragging to or an Xwl bridge.

We set this on Seat along with the active surface.

In future this also allows getting rid of the move filter.


Drop the internal connection in kwin

This is now unused after the Xwl changes


Overall we've tried to go for a 1:1 behaviour match with the code that's already there only without the async roundtrips. I thi

Edited by David Edmundson

Merge request reports