[PATCH] Refine compositor grabs behavior

Daniel Stone daniel at fooishbar.org
Mon Nov 30 13:56:16 PST 2015


Hi,

On 23 November 2015 at 00:19, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> double pointer case when split across frames:
> p1.leave, p1.frame, *FOCUS OUT* \
>   p2.leave, p2.frame *FOCUS OUT* \
>   p1.enter, p1.frame *FOCUS IN* \
>   p2.enter, p2.frame *FOCUS IN*
>
> double pointer case merged:
> p1.leave, p1.enter, p1.frame *FOCUS TRANSITIONED* \
>   p2.leave, p2.enter, p2.frame *FOCUS TRANSITIONED*
>
> in the split case, a part of the client can be lagging behind in state,
> there's no time where the pointer is focused on two surfaces. That's not the
> case in the merged case. If we enforce the protocol to this instead:
>
> p1.leave, p2.leave, \
>   p1.enter, p2.enter,\
>   p1.frame *FOCUS TRANSITIONED*, p2.frame *FOCUS TRANSITIONED*
>
> we have the same issue where two surfaces are focused simultaneously though
> at least in this case it's detectable. I don't know how much of an issue
> this is in the real world, Carlos may have more feedback here.

I've read this a couple of times, trying to get my head around it, and
am failing thus far. Can you please give a slightly longer-winded
explanation for idiots? :)

Cheers,
Daniel


More information about the wayland-devel mailing list