t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit fe6b0c0fc17d70e1c0f002e397bd2d3ac152ede0
   DIR parent aa2395b6a81475b44dd74618fb7f0b40305e10bb
   URI Author: Anselm R Garbe <garbeam@gmail.com>
       Date:   Mon, 17 Mar 2008 16:26:06 +0000
       
       geoms are now drawed in the status bar
       Diffstat:
         M config.def.h                        |       8 ++++----
         M dwm.c                               |      16 ++++++++++++----
       
       2 files changed, 16 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/config.def.h b/config.def.h
       t@@ -28,8 +28,8 @@ DEFGEOM(dual,    0,  0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,800-bh,  1280,  0, w
        
        Geom geoms[] = {
                /* symbol        function */
       -        { "[]",                single },        /* first entry is default */
       -        { "[][]",        dual },
       +        { "<>",                single },        /* first entry is default */
       +        { ")(",                dual },
        };
        
        /* layout(s) */
       t@@ -48,8 +48,8 @@ Layout layouts[] = {
        #define MODKEY                        Mod1Mask
        Key keys[] = {
                /* modifier                        key                function        argument */
       -        { MODKEY,                        XK_a,                setgeom,        "[][]" },
       -        { MODKEY,                        XK_d,                setgeom,        "[]" },
       +        { MODKEY,                        XK_a,                setgeom,        ")(" },
       +        { MODKEY,                        XK_d,                setgeom,        "<>" },
                { MODKEY,                        XK_p,                spawn,
                        "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" },
                { MODKEY|ShiftMask,                XK_Return,        spawn, "exec uxterm" },
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -210,7 +210,7 @@ void zoom(const char *arg);
        char stext[256], buf[256];
        int screen, sx, sy, sw, sh;
        int (*xerrorxlib)(Display *, XErrorEvent *);
       -int bx, by, bw, bh, blw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh;
       +int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh;
        unsigned int numlockmask = 0;
        void (*handler[LASTEvent]) (XEvent *) = {
                [ButtonPress] = buttonpress,
       t@@ -322,10 +322,10 @@ buttonpress(XEvent *e) {
                XButtonPressedEvent *ev = &e->xbutton;
        
                if(ev->window == barwin) {
       -                x = 0;
       +                x = bgw;
                        for(i = 0; i < LENGTH(tags); i++) {
                                x += textw(tags[i]);
       -                        if(ev->x < x) {
       +                        if(ev->x > bgw && ev->x < x) {
                                        if(ev->button == Button1) {
                                                if(ev->state & MODKEY)
                                                        tag(tags[i]);
       t@@ -514,6 +514,9 @@ drawbar(void) {
                Client *c;
        
                dc.x = 0;
       +        dc.w = bgw;
       +        drawtext(geom->symbol, dc.norm, False);
       +        dc.x += bgw;
                for(c = stack; c && !isvisible(c); c = c->snext);
                for(i = 0; i < LENGTH(tags); i++) {
                        dc.w = textw(tags[i]);
       t@@ -854,7 +857,7 @@ unsigned int
        idxoftag(const char *t) {
                unsigned int i;
        
       -        for(i = 0; (i < LENGTH(tags)) && (tags[i] != t); i++);
       +        for(i = 0; (i < LENGTH(tags)) && strcmp(tags[i], t); i++);
                return (i < LENGTH(tags)) ? i : 0;
        }
        
       t@@ -1501,6 +1504,11 @@ setup(void) {
                        if(i > blw)
                                blw = i;
                }
       +        for(bgw = i = 0; i < LENGTH(geoms); i++) {
       +                i = textw(geoms[i].symbol);
       +                if(i > bgw)
       +                        bgw = i;
       +        }
        
                wa.override_redirect = 1;
                wa.background_pixmap = ParentRelative;