[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
requests.
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
source:
- 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