some other fixes, resize contains a minor bug
Anselm R Garbe garbeam@gmail.com
Fri, 22 Feb 2008 10:34:12 +0000
1 files changed,
9 insertions(+),
7 deletions(-)
jump to
M
dwm.c
→
dwm.c
@@ -1276,7 +1276,6 @@ Monitor *m;
XWindowChanges wc; m = c->monitor; - if(sizehints) { /* set minimum possible */ if (w < 1)@@ -1325,6 +1324,7 @@ if(x + w + 2 * c->border < m->sx)
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 @@ /* init geometry */
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 @@ unsigned int i, n, nx, ny, nw, nh, mw, th;
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 @@ nh = (m->way + m->wah) - ny - 2 * c->border;
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 @@ }
void unmanage(Client *c) { + Monitor *m = c->monitor; XWindowChanges wc; wc.border_width = c->oldborder;@@ -1842,7 +1844,7 @@ free(c);
XSync(dpy, False); XSetErrorHandler(xerror); XUngrabServer(dpy); - arrange(NULL); + arrange(m); } void