tabbed: UnmapNotify patch - tabbed - tab interface for application supporting X… | |
git clone git://git.suckless.org/tabbed | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 5c560f3784971b1a3bbfc7d18af759778f7779d1 | |
parent b4fed5a100f2fe50cb7caa33e6d58edebe1e7f80 | |
Author: Okan Demirmen <[email protected]> | |
Date: Wed, 10 Sep 2014 13:50:34 -0400 | |
tabbed: UnmapNotify patch | |
Hi, | |
Simple patch for tabbed that prevents tabbed from killing a client that it | |
should no longer be managing due to an UnmapNotify event. | |
Add support for UnmapNotify; allows a window to map and unmap without | |
needing it to be destroyed. | |
Thanks, | |
Okan | |
Signed-off-by: Christoph Lohmann <[email protected]> | |
Diffstat: | |
M tabbed.c | 11 +++++++++++ | |
1 file changed, 11 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/tabbed.c b/tabbed.c | |
@@ -93,6 +93,7 @@ static void clientmessage(const XEvent *e); | |
static void configurenotify(const XEvent *e); | |
static void configurerequest(const XEvent *e); | |
static void createnotify(const XEvent *e); | |
+static void unmapnotify(const XEvent *e); | |
static void destroynotify(const XEvent *e); | |
static void die(const char *errstr, ...); | |
static void drawbar(void); | |
@@ -141,6 +142,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = { | |
[ConfigureNotify] = configurenotify, | |
[ConfigureRequest] = configurerequest, | |
[CreateNotify] = createnotify, | |
+ [UnmapNotify] = unmapnotify, | |
[DestroyNotify] = destroynotify, | |
[Expose] = expose, | |
[FocusIn] = focusin, | |
@@ -286,6 +288,15 @@ createnotify(const XEvent *e) { | |
} | |
void | |
+unmapnotify(const XEvent *e) { | |
+ const XUnmapEvent *ev = &e->xunmap; | |
+ int c; | |
+ | |
+ if((c = getclient(ev->window)) > -1) | |
+ unmanage(c); | |
+} | |
+ | |
+void | |
destroynotify(const XEvent *e) { | |
const XDestroyWindowEvent *ev = &e->xdestroywindow; | |
int c; |