| XKill if windows won't close, cleanups. - tabbed - tab interface for applicatio… | |
| git clone git://git.suckless.org/tabbed | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 4955efbafae24833a531ffa471c36e56038a926c | |
| parent 8b63e1219b7130f978f1dc2ef72f9e68720bbf5a | |
| Author: Enno Boland (tox) <[email protected]> | |
| Date: Tue, 25 May 2010 00:44:20 +0200 | |
| XKill if windows won't close, cleanups. | |
| Diffstat: | |
| M tabbed.c | 5 +++-- | |
| 1 file changed, 3 insertions(+), 2 deletions(-) | |
| --- | |
| 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)); |