[PATCH 0/5] Enter/Leave and focus model implementation (Take 3)
Peter Hutterer
peter.hutterer at who-t.net
Wed Jan 7 16:13:01 PST 2009
As you may be aware, current enter/leave events and focus in/out events are
broken, leading to interesting effects (see Bug 19086 [1]).
In what can be described as an hyperbolic approach, here's the third
implementation of the enter/leave model for multiple pointers (this time also
including focus events).
It is also available as a git branch (rebased on today's master):
git://people.freedesktop.org/~whot/xserver.git enterleave
Notable points:
- The enter/leave model (bar a few changes in comments) has been sent to the
list previously.
- The focus model only cares for NotifyPointer events for those pointers that
caused a local focus change. e.g. if kbd 1 causes a FocusIn, then only ptr 1
may cause the matching NotifyPointer events. However, this is true only in
the local scope. A client request to change the input focus may result in
multiple local focus changes and thus multiple pointers may be involved in
NotifyPointer events.
The implementation passes the XTS tests for EnterNotify, LeaveNotify, FocusIn
and FocusOut core events in single-pointer mode. With multiple pointers, some
tests fail but that is to be expected.
I'm still running other XTS tests, but I haven't noticed any issues with it
yet on my main laptop. I'd appreciate any testing or feedback.
Cheers,
Peter
[1] https://bugs.freedesktop.org/show_bug.cgi?id=19086
More information about the xorg
mailing list