Skip to content

Commit 9ceaa4d

Browse files
authored
Merge pull request #10 from jmi2k/master
Loop until the mouse is grabbed
2 parents 05a0aba + 1ec454e commit 9ceaa4d

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

config.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
#define FOREGROUND_COLOR 0x888888
22
#define BORDER 4
3+
#define PERSISTENT_GRABBING 0

crud.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,17 @@ void set_rects_from_selection(XRectangle* rects, Selection dimensions) {
8080

8181
void switch_cursor(Cursor* cursor) {
8282
int mask = PointerMotionMask | ButtonPressMask | ButtonReleaseMask;
83+
int error;
8384

84-
XGrabPointer(display, root, True,
85-
mask, GrabModeAsync, GrabModeAsync,
86-
None, *cursor, CurrentTime);
85+
do {
86+
error = XGrabPointer(display, root, True,
87+
mask, GrabModeAsync, GrabModeAsync,
88+
None, *cursor, CurrentTime);
89+
sleep(0);
90+
} while (PERSISTENT_GRABBING && error);
91+
92+
if (error)
93+
exit(1);
8794
}
8895

8996
WindowSelection make_selection(Selection dimensions) {

0 commit comments

Comments
 (0)