about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R.Garbe <arg@10ksloc.org>2006-08-14 15:31:58 +0200
committerAnselm R.Garbe <arg@10ksloc.org>2006-08-14 15:31:58 +0200
commitfe3dfbbe90f813294bb69e41f996a000f63c1560 (patch)
tree48a2cc8396f025857b8a23e2b06785e81afe8306
parent2ffdc1936cf13af5df0cc6d9415961dbe13b9cf8 (diff)
downloaddwm-fe3dfbbe90f813294bb69e41f996a000f63c1560.tar.gz
pplied Sanders appendtag patch
-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 881d41a..c5e5f40 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 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