summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--event.c6
-rw-r--r--tag.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/event.c b/event.c
index 881d41a8..c5e5f400 100644
--- a/event.c
+++ b/event.c
@@ -4,6 +4,7 @@
*/
#include "dwm.h"
#include <stdlib.h>
+#include <unistd.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
@@ -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 c4d3b345..b5bebea2 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