[PATCH] shell: Implement wl_shell_surface_set_notification

Bill Spitzak spitzak at gmail.com
Sun Dec 30 14:01:57 PST 2012


Gregory Merchan wrote:

> This is also important for getting drag-and-drop working correctly. I
> tried the weston dnd demo recently and was saddened to see it does not
> work correctly (i.e. according to the expectations of most computer
> users): the ButtonDown immediately set focus and raised the window
> rather than allowing a drag without focus or stacking change. I tried
> modifying the demo, but I couldn't find any way to reject focus or
> avoid the window being raised. (Sorry. I don't know the new names for
> these things I know on X.)

That does not sound good. I was under the impression that Wayland is 
doing this correctly. It may be a bug in toytoolkit.

Drag and drop is the most obvious example where raise on click is wrong, 
since Windows went and hacked a fix in for that (basically a timeout to 
make sure dnd was not started). This means that users are used to a case 
where a click does not raise a window and notice the misbehavior 
immediately.

The correct solution is to only allow clients to raise their own 
windows. The client can make any decision whether or not a click raises 
the window and get it exactly right, without enormous complex assignment 
of "roles" to windows an clicks.

> The exceptions to client stacking are, IMO, just the layers seen in
> the patch.

Most schemes I have been able to come up with for inter-client window 
stacking involve "layers" but with the ability to dynamically change the 
layer. Any solution has to allow a client that can put it's windows atop 
the notifications, because otherwise notifications are really annoying. 
Raising that client's window puts it atop the notifications, but raising 
another client's window might then raise both it and the notifications. 
No "layer" system allows this currently. It may seem silly for 
notifications but this is vital for working floating toolbars and to 
make the panel work correctly with fullscreen applications.

> That reminds me: is there anything like icon windows in any of the
> compositors that have been written? I couldn't find that in weston.

Clients can just change their windows to icon versions.


More information about the wayland-devel mailing list