Handling maprequest. that means tabbed works for xterm. - ttabbed - Simple tabbing application for X11.
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 907f12fa418854d4dca9ce622dd087da65f05254
 (DIR) parent 12a1449305e5be8b1d417e31da88c74566b855c4
 (HTM) Author: Enno Boland (tox) <tox@s01.de>
       Date:   Wed, 28 Oct 2009 20:09:53 +0100
       
       Handling maprequest. that means tabbed works for xterm.
       Diffstat:
         config.mk                           |       6 +++---
         tabbed.c                            |      10 ++++++++++
       
       2 files changed, 13 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/config.mk b/config.mk
       @@ -13,9 +13,9 @@ LIBS = -L/usr/lib -lc -lX11
        
        # flags
        CPPFLAGS = -DVERSION=\"${VERSION}\"
       -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
       -LDFLAGS = -s ${LIBS}
       -#LDFLAGS = ${LIBS}
       +CFLAGS = -g -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
       +#LDFLAGS = -s ${LIBS}
       +LDFLAGS = ${LIBS}
        
        # Solaris
        #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
 (DIR) diff --git a/tabbed.c b/tabbed.c
       @@ -111,6 +111,7 @@ static Bool isprotodel(Client *c);
        static void keypress(const XEvent *e);
        static void killclient(const Arg *arg);
        static void manage(Window win);
       +static void maprequest(const XEvent *e);
        static void move(const Arg *arg);
        static void propertynotify(const XEvent *e);
        static void resize(Client *c, int w, int h);
       @@ -139,6 +140,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = {
                [Expose] = expose,
                [FocusIn] = focusin,
                [KeyPress] = keypress,
       +        [MapRequest] = maprequest,
                [PropertyNotify] = propertynotify,
        };
        static int bh, wx, wy, ww, wh;
       @@ -582,6 +584,14 @@ manage(Window w) {
        }
        
        void
       +maprequest(const XEvent *e) {
       +        const XMapRequestEvent *ev = &e->xmaprequest;
       +
       +        if(!getclient(ev->window))
       +                manage(ev->window);
       +}
       +
       +void
        move(const Arg *arg) {
                int i;
                Client *c;