t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit de5b294edce70dae164855fb06e0472441ae28ee
   DIR parent 8e0f8ffcc63f27bd2e2c666b4e889a3056b3b70b
   URI Author: Anselm R Garbe <garbeam@gmail.com>
       Date:   Fri, 22 Feb 2008 10:34:12 +0000
       
       some other fixes, resize contains a minor bug
       Diffstat:
         M dwm.c                               |      16 +++++++++-------
       
       1 file changed, 9 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -1276,7 +1276,6 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
                XWindowChanges wc;
        
                m = c->monitor;
       -
                if(sizehints) {
                        /* set minimum possible */
                        if (w < 1)
       t@@ -1325,6 +1324,7 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
                        x = m->sx;
                if(y + h + 2 * c->border < m->sy)
                        y = m->sy;
       +        fprintf(stderr, "resize %d %d %d %d (%d %d %d %d)\n", x, y , w, h, m->sx, m->sy, m->sw, m->sh);
                if(c->x != x || c->y != y || c->w != w || c->h != h) {
                        c->x = wc.x = x;
                        c->y = wc.y = y;
       t@@ -1605,7 +1605,7 @@ setup(void) {
                        m = &monitors[i];
                        m->id = i;
        
       -                if (mcount != 1 && isxinerama) {
       +                if(mcount != 1 && isxinerama) {
                                m->sx = info[i].x_org;
                                m->sy = info[i].y_org;
                                m->sw = info[i].width;
       t@@ -1727,9 +1727,9 @@ tile(Monitor *m) {
                Client *c, *mc;
        
                domwfact = dozoom = True;
       -
       -        nx = ny = nw = 0; /* gcc stupidity requires this */
       -
       +        nx = m->wax;
       +        ny = m->way;
       +        nw = 0;
                for(n = 0, c = nexttiled(clients, m); c; c = nexttiled(c->next, m))
                        n++;
        
       t@@ -1757,16 +1757,17 @@ tile(Monitor *m) {
                                else
                                        nh = th - 2 * c->border;
                        }
       +                fprintf(stderr, "tile %d %d %d %d\n", nx, ny, nw, nh);
                        resize(c, nx, ny, nw, nh, RESIZEHINTS);
                        if((RESIZEHINTS) && ((c->h < bh) || (c->h > nh) || (c->w < bh) || (c->w > nw)))
                                /* client doesn't accept size constraints */
                                resize(c, nx, ny, nw, nh, False);
                        if(n > 1 && th != m->wah)
                                ny = c->y + c->h + 2 * c->border;
       -
                        i++;
                }
        }
       +
        void
        togglebar(const char *arg) {
                if(bpos == BarOff)
       t@@ -1824,6 +1825,7 @@ unban(Client *c) {
        
        void
        unmanage(Client *c) {
       +        Monitor *m = c->monitor;
                XWindowChanges wc;
        
                wc.border_width = c->oldborder;
       t@@ -1842,7 +1844,7 @@ unmanage(Client *c) {
                XSync(dpy, False);
                XSetErrorHandler(xerror);
                XUngrabServer(dpy);
       -        arrange(NULL);
       +        arrange(m);
        }
        
        void