diff --git a/event.c b/event.c index 881d41a..c5e5f40 100644 --- a/event.c +++ b/event.c @@ -4,6 +4,7 @@ */ #include "dwm.h" #include +#include #include #include @@ -360,6 +361,11 @@ grabkeys() unsigned int i; KeyCode code; + while(XGrabKeyboard(dpy, root, True, GrabModeAsync, + GrabModeAsync, CurrentTime) != GrabSuccess) + usleep(1000); + XUngrabKeyboard(dpy, CurrentTime); + for(i = 0; i < len; i++) { code = XKeysymToKeycode(dpy, key[i].keysym); XGrabKey(dpy, code, key[i].mod, root, True, diff --git a/tag.c b/tag.c index c4d3b34..b5bebea 100644 --- a/tag.c +++ b/tag.c @@ -37,11 +37,15 @@ void (*arrange)(Arg *) = DEFMODE; void appendtag(Arg *arg) { - if(!sel) + Client *c = sel; + + if(!c) return; - sel->tags[arg->i] = True; + c->tags[arg->i] = True; arrange(NULL); + focus(c); + restack(); } void