]> Pileus Git - wmpus/blobdiff - sys-xcb.c
Add simple client killing
[wmpus] / sys-xcb.c
index 436a0e24918ab11e8a2df631aa84aeab590024d3..342fc48b820a5d823c0a0135c1f3b42a45f7213d 100644 (file)
--- a/sys-xcb.c
+++ b/sys-xcb.c
@@ -746,16 +746,7 @@ void sys_show(win_t *win, state_t state)
                        break;
 
                case ST_CLOSE:
-                       // TODO
-                       // if (!win_msg(win, WM_DELETE)) {
-                       //      XGrabServer(win->sys->dpy);
-                       //      XSetErrorHandler(xnoerror);
-                       //      XSetCloseDownMode(win->sys->dpy, DestroyAll);
-                       //      XKillClient(win->sys->dpy, win->sys->xid);
-                       //      XSync(win->sys->dpy, False);
-                       //      XSetErrorHandler(xerror);
-                       //      XUngrabServer(win->sys->dpy);
-                       // }
+                       xcb_kill_client(conn, xcb);
                        break;
        }
 
@@ -881,6 +872,9 @@ void sys_init(void)
        root     = iter.data->root;
        colormap = iter.data->default_colormap;
 
+       /* Setup for for ST_CLOSE */
+       xcb_set_close_down_mode(conn, XCB_CLOSE_DOWN_DESTROY_ALL);
+
        /* Allocate key symbols */
        if (!(keysyms = xcb_key_symbols_alloc(conn)))
                error("cannot allocate key symbols");