about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R Garbe <garbeam@gmail.com>2009-09-08 13:30:18 +0100
committerAnselm R Garbe <garbeam@gmail.com>2009-09-08 13:30:18 +0100
commit01056b66369f650d02145f27d1399141f93015df (patch)
treeec58d2e73a2fb426e2b47eb217a2a4e560227497
parenteb260b1a414fb82fc01d3638e3e77495297c45d5 (diff)
downloaddwm-01056b66369f650d02145f27d1399141f93015df.tar.gz
hard-core destruction
-rw-r--r--dwm.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/dwm.c b/dwm.c
index 413e795..cb296b5 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1039,9 +1039,15 @@ killclient(const Arg *arg) {
 		ev.xclient.data.l[1] = CurrentTime;
 		XSendEvent(dpy, selmon->sel->win, False, NoEventMask, &ev);
 	}
-	else
+	else {
+		XGrabServer(dpy);
+		XSetErrorHandler(xerrordummy);
+		XSetCloseDownMode(dpy, DestroyAll);
 		XKillClient(dpy, selmon->sel->win);
-	XSync(dpy, False);
+		XSync(dpy, False);
+		XSetErrorHandler(xerror);
+		XUngrabServer(dpy);
+	}
 }
 
 void
39 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170