dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit de5b294edce70dae164855fb06e0472441ae28ee
parent 8e0f8ffcc63f27bd2e2c666b4e889a3056b3b70b
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:
Mdwm.c | 16+++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/dwm.c b/dwm.c
@@ -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)
@@ -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;
@@ -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;
@@ -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++;
 
@@ -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)
@@ -1824,6 +1825,7 @@ unban(Client *c) {
 
 void
 unmanage(Client *c) {
+    Monitor *m = c->monitor;
     XWindowChanges wc;
 
     wc.border_width = c->oldborder;
@@ -1842,7 +1844,7 @@ unmanage(Client *c) {
     XSync(dpy, False);
     XSetErrorHandler(xerror);
     XUngrabServer(dpy);
-    arrange(NULL);
+    arrange(m);
 }
 
 void