From fe3dfbbe90f813294bb69e41f996a000f63c1560 Mon Sep 17 00:00:00 2001
From: "Anselm R.Garbe" <arg@10ksloc.org>
Date: Mon, 14 Aug 2006 15:31:58 +0200
Subject: pplied Sanders appendtag patch

---
 event.c | 6 ++++++
 tag.c   | 8 ++++++--
 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
-- 
cgit v1.2.3