浏览代码

hard-core destruction

Anselm R Garbe 16 年之前
父节点
当前提交
01056b6636
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      dwm.c

+ 8 - 2
dwm.c

@@ -1039,9 +1039,15 @@ killclient(const Arg *arg) {
 		ev.xclient.data.l[1] = CurrentTime;
 		ev.xclient.data.l[1] = CurrentTime;
 		XSendEvent(dpy, selmon->sel->win, False, NoEventMask, &ev);
 		XSendEvent(dpy, selmon->sel->win, False, NoEventMask, &ev);
 	}
 	}
-	else
+	else {
+		XGrabServer(dpy);
+		XSetErrorHandler(xerrordummy);
+		XSetCloseDownMode(dpy, DestroyAll);
 		XKillClient(dpy, selmon->sel->win);
 		XKillClient(dpy, selmon->sel->win);
-	XSync(dpy, False);
+		XSync(dpy, False);
+		XSetErrorHandler(xerror);
+		XUngrabServer(dpy);
+	}
 }
 }
 
 
 void
 void