[dev] 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
diff --git a/tabbed.c b/tabbed.c
index 6a2264f..68281ac 100644
--- a/tabbed.c
+++ b/tabbed.c
_AT_@ -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);
_AT_@ -141,6 +142,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = {
[ConfigureNotify] = configurenotify,
[ConfigureRequest] = configurerequest,
[CreateNotify] = createnotify,
+ [UnmapNotify] = unmapnotify,
[DestroyNotify] = destroynotify,
[Expose] = expose,
[FocusIn] = focusin,
_AT_@ -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;
Received on Wed Sep 10 2014 - 19:50:34 CEST
This archive was generated by hypermail 2.3.0
: Wed Sep 10 2014 - 20:00:12 CEST