wl_tablet draft v2
Bill Spitzak
spitzak at gmail.com
Wed Aug 20 13:20:46 PDT 2014
On 08/20/2014 12:13 PM, Pekka Paalanen wrote:
> What would be a use case, where you might get blinking?
>
> If the
> item is highlighted because an action with the input tool on any
> wl_surface may affect it, why remove the highlight when the input
> tool leaves?
That describes the situation pretty closely, except the action is on
some subset of the wl_surfaces (for instance, only on the wl_surfaces
that belong to the client).
When an exit event comes in the client does not know if it is because
the cursor entered another surface that will keep the highlighting on.
It needs to peek ahead to see if there is an enter event in order to
decide whether to turn the highlighting off. Since it can't know if
perhaps the other surface is for another client, it can't just wait for
the enter event, since that may never happen.
One way to fix this would be to send the enter event *before* the exit
event. Another, which would actually work the best, is to not send the
exit event at all.
Allowing these solutions is one of the reasons I disagree with the idea
that perfect pairing of events must be done by each level of wayland. It
is actually trivial for clients to recover from mismatched events, and
they serve useful purposes like this.
More information about the wayland-devel
mailing list