Introduction
Introduction Statistics Contact Development Disclaimer Help
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;
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.