t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 42c4b310032ca6f54cdc861d74369b6373d0c33e
   DIR parent a785a0d71213c2ab628778727c4354ad5bb517fb
   URI Author: Anselm R Garbe <garbeam@gmail.com>
       Date:   Sat, 17 May 2008 14:23:05 +0100
       
       removed tileh, renamed tilev into tile again, removed counttiles, tilemaster
       Diffstat:
         M config.def.h                        |       2 +-
         M dwm.c                               |      70 +++++++-------------------------
       
       2 files changed, 15 insertions(+), 57 deletions(-)
       ---
   DIR diff --git a/config.def.h b/config.def.h
       t@@ -25,7 +25,7 @@ Rule rules[] = {
        
        Layout layouts[] = {
                /* symbol     function */
       -        { "[]=",      tilev   }, /* first entry is default */
       +        { "[]=",      tile    }, /* first entry is default */
                { "><>",      NULL    }, /* no layout function means floating behavior */
                { "<M>",      monocle }, /* TODO: remove this */
        };
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -119,7 +119,6 @@ void cleanup(void);
        void configure(Client *c);
        void configurenotify(XEvent *e);
        void configurerequest(XEvent *e);
       -unsigned int counttiled(void);
        void destroynotify(XEvent *e);
        void detach(Client *c);
        void detachstack(Client *c);
       t@@ -168,12 +167,8 @@ void spawn(const char *arg);
        void tag(const char *arg);
        unsigned int textnw(const char *text, unsigned int len);
        unsigned int textw(const char *text);
       -void tileh(void);
       -void tilehstack(unsigned int n);
       -Client *tilemaster(unsigned int n);
        void tileresize(Client *c, int x, int y, int w, int h);
       -void tilev(void);
       -void tilevstack(unsigned int n);
       +void tile(void);
        void togglefloating(const char *arg);
        void togglelayout(const char *arg);
        void toggletag(const char *arg);
       t@@ -468,15 +463,6 @@ configurerequest(XEvent *e) {
                XSync(dpy, False);
        }
        
       -unsigned int
       -counttiled(void) {
       -        unsigned int n;
       -        Client *c;
       -
       -        for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next), n++);
       -        return n;
       -}
       -
        void
        destroynotify(XEvent *e) {
                Client *c;
       t@@ -1508,44 +1494,6 @@ textw(const char *text) {
        }
        
        void
       -tileh(void) {
       -        int x, w;
       -        unsigned int i, n = counttiled();
       -        Client *c;
       -
       -        if(n == 0)
       -                return;
       -        c = tilemaster(n);
       -        if(--n == 0)
       -                return;
       -
       -        x = tx;
       -        w = tw / n;
       -        if(w < bh)
       -                w = tw;
       -
       -        for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) {
       -                if(i + 1 == n) /* remainder */
       -                        tileresize(c, x, ty, (tx + tw) - x - 2 * c->bw, th - 2 * c->bw);
       -                else
       -                        tileresize(c, x, ty, w - 2 * c->bw, th - 2 * c->bw);
       -                if(w != tw)
       -                        x = c->x + c->w + 2 * c->bw;
       -        }
       -}
       -
       -Client *
       -tilemaster(unsigned int n) {
       -        Client *c = nexttiled(clients);
       -
       -        if(n == 1)
       -                tileresize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw);
       -        else
       -                tileresize(c, mx, my, mw - 2 * c->bw, mh - 2 * c->bw);
       -        return c;
       -}
       -
       -void
        tileresize(Client *c, int x, int y, int w, int h) {
                resize(c, x, y, w, h, RESIZEHINTS);
                if((RESIZEHINTS) && ((c->h < bh) || (c->h > h) || (c->w < bh) || (c->w > w)))
       t@@ -1554,17 +1502,27 @@ tileresize(Client *c, int x, int y, int w, int h) {
        }
        
        void
       -tilev(void) {
       +tile(void) {
                int y, h;
       -        unsigned int i, n = counttiled();
       +        unsigned int i, n;
                Client *c;
        
       +        for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next), n++);
                if(n == 0)
                        return;
       -        c = tilemaster(n);
       +
       +        /* master */
       +        c = nexttiled(clients);
       +
       +        if(n == 1)
       +                tileresize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw);
       +        else
       +                tileresize(c, mx, my, mw - 2 * c->bw, mh - 2 * c->bw);
       +
                if(--n == 0)
                        return;
        
       +        /* tile stack */
                y = ty;
                h = th / n;
                if(h < bh)