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 | } |
