summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEnno Boland (tox) <tox@s01.de>2010-05-25 00:44:20 +0200
committerEnno Boland (tox) <tox@s01.de>2010-05-25 00:44:20 +0200
commit4955efbafae24833a531ffa471c36e56038a926c (patch)
treeff3f91f31141b512f60b4b0ceaa342030e6e76e5
parent8b63e1219b7130f978f1dc2ef72f9e68720bbf5a (diff)
downloadtabbed-4955efbafae24833a531ffa471c36e56038a926c.tar.gz
XKill if windows won't close, cleanups.
-rw-r--r--tabbed.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tabbed.c b/tabbed.c
index 048ab37..99202d0 100644
--- 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));