[Question] Z-order management in Wayland

Bill Spitzak spitzak at gmail.com
Fri Aug 1 13:10:38 PDT 2014


On 07/31/2014 07:27 PM, Carsten Haitzler (The Rasterman) wrote:

>> The most obvious thing that does not work is drag & drop.
>
> what has that got to do with a click raising or not? dnd is a separate protocol
> element with its own semantics.

You want to be able to drag out of a window without raising it. 
Otherwise it could raise and obscure the location you wish to drop at. 
Probably more important right now is that this is how Windows and OS/X 
work for drag & drop.

This is not possible if sending the mouse-down (the one that will start 
the drag) raises the source window. It has nothing to do with the dnd 
protocol itself as all this happens before the first dnd request or event.

Windows kludges around this by relying on synchronous operation, since 
the window manager is (in effect) running in a library in the same 
process. If no calls to start drag happen before the event handler for 
the mouse-down returns, it raises the window. This cannot be done on 
Wayland as it does not want to rely on synchronous behavior.

In any case this is going to have to be fixed in xdg_shell. I did not 
realize until I did some more investigation of it how little has been 
done on developing xdg_shell. I suppose clients that use wl_shell can 
have unavoidable raise-on-click.


More information about the wayland-devel mailing list