diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-26 14:42:25 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-27 14:40:58 +1000 |
commit | a7e23a79c1fc429aedbf9b6c0e78b1c8d7e02238 (patch) | |
tree | 5fc32f0134ef45239df861c6dd8def5e509297c6 /include/exevents.h | |
parent | ec2fe9660dbc0c16cdaca33b3b878011857e0fe2 (diff) |
Xi: Add support for Enter and FocusIn grabs.
Enter grabs are checked for in CheckMotion(), each time the sprite window
changes the current grab is deactivated (if applicable) and the new grab is
activated (if applicable). Exception - if the grab is on a parent window of
the current window since we keep the grab across descendants.
Since CheckMotion() may change the grab status of a device, we mustn't get
"dev->deviceGrab.grab" in ProcessOtherEvents until after CheckMotion().
FocusIn grabs are checked in much the same manner.
The event delivery for grabs replaces the NotifyNormal on window change with
a NotifyGrab on window change. Note that this happens before the grab
activates, so the EnterNotify(NotifyGrab) is still delivered to the window,
not to the grabbing client. This is in line with the core protocol semantics
for NotifyGrab events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include/exevents.h')
-rw-r--r-- | include/exevents.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/exevents.h b/include/exevents.h index 95d08cc7f..5878413c2 100644 --- a/include/exevents.h +++ b/include/exevents.h @@ -107,6 +107,13 @@ extern int GrabKey( GrabType /* grabtype */, GrabMask* /* eventMask */); +extern int GrabWindow( + ClientPtr /* client */, + DeviceIntPtr /* dev */, + int /* type */, + GrabParameters* /* param */, + GrabMask* /* eventMask */); + extern int SelectForWindow( DeviceIntPtr /* dev */, WindowPtr /* pWin */, |