XKill if windows won't close, cleanups. - ttabbed - Simple tabbing application for X11.
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 4955efbafae24833a531ffa471c36e56038a926c
 (DIR) parent 8b63e1219b7130f978f1dc2ef72f9e68720bbf5a
 (HTM) Author: Enno Boland (tox) <tox@s01.de>
       Date:   Tue, 25 May 2010 00:44:20 +0200
       
       XKill if windows won't close, cleanups.
       Diffstat:
         tabbed.c                            |       5 +++--
       
       1 file changed, 3 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/tabbed.c b/tabbed.c
       @@ -84,6 +84,7 @@ typedef struct Client {
                Window win;
                int tabx;
                Bool mapped;
       +        Bool closed;
        } Client;
        
        /* function declarations */
       @@ -548,7 +549,7 @@ killclient(const Arg *arg) {
        
                if(!sel)
                        return;
       -        if(isprotodel(sel)) {
       +        if(isprotodel(sel) && !sel->closed) {
                        ev.type = ClientMessage;
                        ev.xclient.window = sel->win;
                        ev.xclient.message_type = wmatom[WMProtocols];
       @@ -556,6 +557,7 @@ killclient(const Arg *arg) {
                        ev.xclient.data.l[0] = wmatom[WMDelete];
                        ev.xclient.data.l[1] = CurrentTime;
                        XSendEvent(dpy, sel->win, False, NoEventMask, &ev);
       +                sel->closed = True;
                }
                else
                        XKillClient(dpy, sel->win);
       @@ -757,7 +759,6 @@ sigchld(int unused) {
        
        void
        spawn(const Arg *arg) {
       -        puts("aaaa");
                if(fork() == 0) {
                        if(dpy)
                                close(ConnectionNumber(dpy));