} Regs;
struct Monitor {
- unsigned int id;
int sx, sy, sw, sh, wax, way, wah, waw;
double mwfact;
Bool *seltags;
m->layout->arrange(m);
else
for(i = 0; i < mcount; i++)
- m->layout->arrange(&monitors[i]);
+ monitors[i].layout->arrange(&monitors[i]);
focus(NULL);
restack(m);
}
XWindowChanges wc;
m = c->monitor;
-
if(sizehints) {
/* set minimum possible */
if (w < 1)
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;
for(i = 0; i < mcount; i++) {
/* 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;
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++;
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)
void
unmanage(Client *c) {
+ Monitor *m = c->monitor;
XWindowChanges wc;
wc.border_width = c->oldborder;
XSync(dpy, False);
XSetErrorHandler(xerror);
XUngrabServer(dpy);
- arrange(NULL);
+ arrange(m);
}
void
int
main(int argc, char *argv[]) {
if(argc == 2 && !strcmp("-v", argv[1]))
- eprint("dwm-"VERSION", © 2006-2008 Anselm R. Garbe, Sander van Dijk, "
- "Jukka Salmi, Premysl Hruby, Szabolcs Nagy, Christof Musik\n");
+ eprint("dwm-"VERSION", © 2006-2008 dwm engineers, see LICENSE for details\n");
else if(argc != 1)
eprint("usage: dwm [-v]\n");