#include <X11/Xlib.h>
#define GRAB_PTR_MASK (ButtonPressMask | ButtonReleaseMask | ButtonMotionMask)
+#define GRAB_KEY_MASK (KeyPressMask | KeyReleaseMask)
#define MASK_LIST_SIZE 8
static guint kgrabs = 0;
if (grab) {
if (kgrabs++ == 0)
- XGrabKeyboard(ob_display, ob_root, 0, GrabModeAsync, GrabModeSync,
- event_lasttime);
+ XGrabKeyboard(ob_display, ob_root, FALSE, GrabModeAsync,
+ GrabModeAsync, event_lasttime);
} else if (kgrabs > 0) {
if (--kgrabs == 0)
XUngrabKeyboard(ob_display, event_lasttime);
while (grab_server(FALSE));
}
-void grab_button(guint button, guint state, Window win, guint mask,
- int pointer_mode)
+void grab_button_full(guint button, guint state, Window win, guint mask,
+ int pointer_mode, Cursor cursor)
{
guint i;
for (i = 0; i < MASK_LIST_SIZE; ++i)
XGrabButton(ob_display, button, state | mask_list[i], win, FALSE, mask,
- pointer_mode, GrabModeSync, None, None);
+ pointer_mode, GrabModeSync, None, cursor);
+}
+
+void grab_button(guint button, guint state, Window win, guint mask)
+{
+ grab_button_full(button, state, win, mask, GrabModeAsync, None);
}
void ungrab_button(guint button, guint state, Window win)