Commit Diff


commit - eb260b1a414fb82fc01d3638e3e77495297c45d5
commit + 01056b66369f650d02145f27d1399141f93015df
blob - 413e79541b2b0d5b1abca311df621a779f58fc48
blob + cb296b5c99fd47c395c7c322592e12a1fa650050
--- dwm.c
+++ 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