added tab selecting with mouse - ttabbed - Simple tabbing application for X11.
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 0f67f586b1a95c0f006f50738bf8b418968076c8
 (DIR) parent 21ae332817f235ba45e28fe6389abf39308ed93b
 (HTM) Author: Enno Boland (tox) <tox@s01.de>
       Date:   Tue,  8 Sep 2009 11:53:32 +0200
       
       added tab selecting with mouse
       Diffstat:
         tabbed.c                            |      17 +++++++++++++++++
       
       1 file changed, 17 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/tabbed.c b/tabbed.c
       @@ -76,12 +76,14 @@ typedef struct Listener {
        
        /* function declarations */
        static void autostart(void);
       +static void buttonpress(XEvent *e);
        static void cleanup(void);
        static void configurenotify(XEvent *e);
        static void die(const char *errstr, ...);
        static void drawbar();
        static void drawtext(const char *text, unsigned long col[ColLast]);
        static void expose(XEvent *e);
       +static void focus(Client *c);
        static unsigned long getcolor(const char *colstr);
        static Client *getclient(Window w);
        static Client *getfirsttab();
       @@ -109,6 +111,7 @@ static void (*handler[LASTEvent]) (XEvent *) = {
                [ConfigureNotify] = configurenotify,
                [PropertyNotify] = propertynotify,
                [UnmapNotify] = unmapnotify,
       +        [ButtonPress] = buttonpress,
                [KeyPress] = keypress,
                [Expose] = expose,
        };
       @@ -133,6 +136,20 @@ autostart() {
        }
        
        void
       +buttonpress(XEvent *e) {
       +        int i;
       +        Client *c;
       +        XButtonPressedEvent *ev = &e->xbutton;
       +
       +        for(i = 0, c = getfirsttab(); c; c = c->next, i++) {
       +                if(i * tabwidth < ev->x && (i + 1) * tabwidth > ev->x) {
       +                        focus(c);
       +                        break;
       +                }
       +        }
       +}
       +
       +void
        cleanup(void) {
                if(dc.font.set)
                        XFreeFontSet(dpy, dc.font.set);