Introduction
Introduction Statistics Contact Development Disclaimer Help
add -k to close tabbed foreground client on WMDelete - tabbed - tab interface f…
git clone git://git.suckless.org/tabbed
Log
Files
Refs
README
LICENSE
---
commit 95b46cd3a92cab0a9b18cabb911e11f7300c0e1a
parent 4ccaba49681008900bacfd1eec23571d9b488619
Author: Justin Keogh <[email protected]>
Date: Mon, 21 Mar 2016 02:16:12 +0000
add -k to close tabbed foreground client on WMDelete
Hello, this is useful when you want to use the same key binding that closes win…
Cheers
-J
From 829e95855f0fe78a368788a5e72231bd6456a8cf Mon Sep 17 00:00:00 2001
From: jakeogh <[email protected]>
Date: Mon, 21 Mar 2016 01:36:28 +0000
Subject: [PATCH] add -k to close foreground tabbed client on WM_DELETE_WINDOW
Signed-off-by: Christoph Lohmann <[email protected]>
Diffstat:
M tabbed.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/tabbed.c b/tabbed.c
@@ -155,7 +155,8 @@ static void (*handler[LASTEvent]) (const XEvent *) = {
static int bh, wx, wy, ww, wh;
static unsigned int numlockmask;
static Bool running = True, nextfocus, doinitspawn = True,
- fillagain = False, closelastclient = False;
+ fillagain = False, closelastclient = False,
+ killclientsfirst = False;
static Display *dpy;
static DC dc;
static Atom wmatom[WMLast];
@@ -236,8 +237,13 @@ clientmessage(const XEvent *e)
const XClientMessageEvent *ev = &e->xclient;
if (ev->message_type == wmatom[WMProtocols] &&
- ev->data.l[0] == wmatom[WMDelete])
+ ev->data.l[0] == wmatom[WMDelete]) {
+ if (nclients > 1 && killclientsfirst) {
+ killclient(0);
+ return;
+ }
running = False;
+ }
}
void
@@ -1247,7 +1253,7 @@ xsettitle(Window w, const char *str)
void
usage(void)
{
- die("usage: %s [-dfsv] [-g geometry] [-n name] [-p [s+/-]pos]\n"
+ die("usage: %s [-dfksv] [-g geometry] [-n name] [-p [s+/-]pos]\n"
" [-r narg] [-o color] [-O color] [-t color] [-T color]\n"
" [-u color] [-U color] command...\n", argv0);
}
@@ -1273,6 +1279,9 @@ main(int argc, char *argv[])
case 'g':
geometry = EARGF(usage());
break;
+ case 'k':
+ killclientsfirst = True;
+ break;
case 'n':
wmname = EARGF(usage());
break;
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.