diff options
-rw-r--r-- | dmenu.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -6,7 +6,7 @@ | |||
6 | #include <stdlib.h> | 6 | #include <stdlib.h> |
7 | #include <string.h> | 7 | #include <string.h> |
8 | #include <strings.h> | 8 | #include <strings.h> |
9 | #include <unistd.h> | 9 | #include <time.h> |
10 | #include <X11/Xlib.h> | 10 | #include <X11/Xlib.h> |
11 | #include <X11/Xatom.h> | 11 | #include <X11/Xatom.h> |
12 | #include <X11/Xutil.h> | 12 | #include <X11/Xutil.h> |
@@ -203,6 +203,7 @@ drawmenu(void) | |||
203 | static void | 203 | static void |
204 | grabkeyboard(void) | 204 | grabkeyboard(void) |
205 | { | 205 | { |
206 | struct timespec ts = { .tv_sec = 1, .tv_nsec = 0 }; | ||
206 | int i; | 207 | int i; |
207 | 208 | ||
208 | /* try to grab keyboard, we may have to wait for another process to ungrab */ | 209 | /* try to grab keyboard, we may have to wait for another process to ungrab */ |
@@ -210,7 +211,7 @@ grabkeyboard(void) | |||
210 | if (XGrabKeyboard(dpy, DefaultRootWindow(dpy), True, | 211 | if (XGrabKeyboard(dpy, DefaultRootWindow(dpy), True, |
211 | GrabModeAsync, GrabModeAsync, CurrentTime) == GrabSuccess) | 212 | GrabModeAsync, GrabModeAsync, CurrentTime) == GrabSuccess) |
212 | return; | 213 | return; |
213 | usleep(1000); | 214 | nanosleep(&ts, NULL); |
214 | } | 215 | } |
215 | die("cannot grab keyboard\n"); | 216 | die("cannot grab keyboard\n"); |
216 | } | 217 | } |