commit 4955efbafae24833a531ffa471c36e56038a926c
parent 8b63e1219b7130f978f1dc2ef72f9e68720bbf5a
Author: Enno Boland (tox) <tox@s01.de>
Date: Tue, 25 May 2010 00:44:20 +0200
XKill if windows won't close, cleanups.
Diffstat:
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));