[PATCH 2/2] protocol: add state set functions for maximized and fullscreen.

Bill Spitzak spitzak at gmail.com
Mon Nov 4 23:03:16 CET 2013

Jason Ekstrand wrote:

> 1) Will we ever need a deactivate request?  Under the given scheme, no 
> need comes immediately to mind.

I'm thinking this may be what clients want to do instead of "lower" when 
a middle-mouse button in clicked on a window border (if you wish to act 
like a lot of X window managers do).

I think a client can fake this by creating a temp surface, transferring 
the activation to it, then destroying the surface.

> 2) Should the activate be associated with a particular seat.  If you 
> have multiple cursors, you can easily have multiple active windows so 
> this seems perfectly reasonable.  If this is the case, should this be 
> part of wl_seat or should we keep it in xdg_shell?  I'm a little afraid 
> to clutter wl_seat unnecessarily but this is very quickly starting to 
> look like a seat focus.

As far as I can tell all current proposals are exactly equivalent to the 
keyboard focus for a particular seat. There is no way for them to be 
different, thus everything about activation should be merged with 
everything about the focus for a seat, into a single set of events and 

However I think these can be separated in that a client can get a 
keyboard focus *without* being activated. I see this as a scheme by 
which point-to-type will work but drag & drop does not activate the drag 

- mouse moves into client's surface and mouse-enter event is sent
- client requests and gets the keyboard focus (but not the activate)
- If the user types a keystroke (that does not start a drag) the client 
activates itself
- If instead the user starts a drag the client does not activate.

I have not seen any systems working this way but it does sound useful, 
and it makes "activation" different than the keyboard focus. I think in 
this case activation would be compositor-wide, or perhaps per-output, 
because what it really would do is change the menubar on things like 
OS/X and Unity. Perhaps "how many actives there are" is a 
compositor-specific detail.

More information about the wayland-devel mailing list