[PATCH 2/2] protocol: add state set functions for maximized and fullscreen.
Bill Spitzak
spitzak at gmail.com
Wed Nov 6 02:47:09 CET 2013
Gregory Merchan wrote:
> Viewport change as described by Bill:
> W to A: Request activation.
> A to W: Activate me and do these things, or don't activate me at all.
> W to Z: (1) You are deactivated; (2) Nothing.
> W to A: (1) You are activated (and by other events or by implication
> everything is done.); (2) You are not activated (and by implication
> those things are not done.)
>
> If A was not activated, the compositor does the same with B, C, D, . .
> .. Z only receives the deactivation event when another client has
> accepted.
>
> Do I describe what happens to Z correctly?
I think you described pretty much what I was considering, though I never
even thought about it needing to reject the associated operations. But
in any case...
> Viewport change as described by Greg:
> W to Z: You are deactivated.
> W to A: You are activated.
> A to W: Do these things.
> (By events or by convention everything is done.)
I am now convinced that what you want will work and is simpler.
I think I proposed sort of the same thing initially, but in my version
the client was in charge of whether sloppy focus worked because I only
said the compositor would ignore obviously-hostile clients. IMHO this
was not a problem but others here certainly did not like it. I then made
a big mistake by thinking this requied some kind of advisory activate
event from the compositor.
In your scheme the client can try to activate on mouse enter but the
compositor ignores it, achieving the same result of having the
compositor in control of focus policy and avoiding the advisory activate
event.
> I believe the compositor to client request must include a reason for
> the request if the client is allowed to completely refuse, so that it
> does not refuse in reasonable events like viewport changes. I think
> this makes things needlessly complicated.
>
> On the other hand, if the client must make the request, it doesn't get
> complicated. The request and other changes can still happen
> atomically.
>
> I suspect the cost of the freedom to reject activation is too high,
> but the cost of letting the client specify how to be activated is not
> too high. (Basically, what I said above.) This is just an impression;
> I haven't tried to lay it all out enough to even say it's my opinion,
> much less than to assert it is so.
I agree with all this analysis.
This is good. Lets see if anybody else is following this.
More information about the wayland-devel
mailing list