diff -rub dwm-1.9/client.c dwm-1.9-btm/client.c --- dwm-1.9/client.c 2006-10-06 21:29:22.000000000 +0930 +++ dwm-1.9-btm/client.c 2006-10-13 11:08:36.000000000 +0930 @@ -216,7 +216,7 @@ if(c->y + c->h + 2 * BORDERPX > sh) c->y = sh - c->h - 2 * BORDERPX; if(c->h != sh && c->y < bh) - c->y = bh; + c->y = 0; c->proto = getproto(c->win); XSelectInput(dpy, c->win, StructureNotifyMask | PropertyChangeMask | EnterWindowMask); diff -rub dwm-1.9/main.c dwm-1.9-btm/main.c --- dwm-1.9/main.c 2006-10-06 21:29:22.000000000 +0930 +++ dwm-1.9-btm/main.c 2006-10-13 11:08:36.000000000 +0930 @@ -130,9 +130,10 @@ sh = DisplayHeight(dpy, screen); master = MASTER; /* bar */ - bx = by = 0; bw = sw; dc.h = bh = dc.font.height + 2; + bx = 0; + by = sh - bh; wa.override_redirect = 1; wa.background_pixmap = ParentRelative; wa.event_mask = ButtonPressMask | ExposureMask; diff -rub dwm-1.9/view.c dwm-1.9-btm/view.c --- dwm-1.9/view.c 2006-10-06 21:29:22.000000000 +0930 +++ dwm-1.9-btm/view.c 2006-10-13 16:39:16.000000000 +0930 @@ -47,7 +47,7 @@ if((c->ismax = !c->ismax)) { c->rx = c->x; c->x = sx; - c->ry = c->y; c->y = bh; + c->ry = c->y; c->y = 0; c->rw = c->w; c->w = sw - 2 * BORDERPX; c->rh = c->h; c->h = sh - bh - 2 * BORDERPX; } @@ -116,23 +116,20 @@ } c->ismax = False; c->x = sx; - c->y = sy + bh; + c->y = sy; if(n == 1) { /* only 1 window */ c->w = sw - 2 * BORDERPX; c->h = sh - 2 * BORDERPX - bh; } else if(i == 0) { /* master window */ c->w = mpx - 2 * BORDERPX; - c->h = sh - bh - 2 * BORDERPX; + c->h = sh - 2 * BORDERPX - bh; } else { /* tile window */ c->x += mpx; c->w = stackw - 2 * BORDERPX; if(th > bh) { - c->y = sy + (i - 1) * th + bh; - if(i + 1 == n) - c->h = sh - c->y - 2 * BORDERPX; - else + c->y = sy + (i - 1) * th; c->h = th - 2 * BORDERPX; } else /* fallback if th < bh */