Compositor grabs (was: Re: [PATCH] protocol: Add DnD actions)

Bill Spitzak spitzak at
Fri Apr 17 14:40:16 PDT 2015

On 04/17/2015 05:16 AM, Carlos Garnacho wrote:

> Let's expand on that example, maybe far-streched, but certainly possible:
> - I'm manipulating a client window with 2 fingers on the touchscreen
> (say zooming an image)
> - Any other interaction on the client makes it pop up an xdg_popup
> (say a third touch, a key combo, or the pointer)
> - Q: what happens with the two first touches?

The touches held down should continue to go to the surface they were 
going to before, while the events related to the event that triggered 
the grab will go to the grab client.

When the two touches are fully released then the next press of them will 
go to the grab client.

Wayland could guarantee that the release and drag events go to the same 
client that got the press event. Grabs just dictate where new press 
events go.

I don't think this situation will happen much, due to server-induced 
grabs which are fully synchronous, so you cannot press two buttons in 
two different widgets and get two grabs. Instead one of them will get 
the grab and that one will see the other button.

More information about the wayland-devel mailing list