about summary refs log tree commit diff stats
path: root/dwm.c
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 /dwm.c
parenteb260b1a414fb82fc01d3638e3e77495297c45d5 (diff)
downloaddwm-01056b66369f650d02145f27d1399141f93015df.tar.gz
hard-core destruction
Diffstat (limited to 'dwm.c')
-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