dwm

dynamic window manager
git clone https://git.parazyd.org/dwm
Log | 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