summaryrefslogtreecommitdiff
path: root/include/exevents.h
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-05-26 14:42:25 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-05-27 14:40:58 +1000
commita7e23a79c1fc429aedbf9b6c0e78b1c8d7e02238 (patch)
tree5fc32f0134ef45239df861c6dd8def5e509297c6 /include/exevents.h
parentec2fe9660dbc0c16cdaca33b3b878011857e0fe2 (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.h7
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 */,