--- a/dwm.c 2012-01-12 08:36:05.000000000 +0200 +++ b/dwm.c 2012-01-24 00:20:17.712230184 +0200 @@ -1350,12 +1350,22 @@ resize(Client *c, int x, int y, int w, i void resizeclient(Client *c, int x, int y, int w, int h) { XWindowChanges wc; + Client *d; + unsigned int n; c->oldx = c->x; c->x = wc.x = x; c->oldy = c->y; c->y = wc.y = y; c->oldw = c->w; c->w = wc.width = w; c->oldh = c->h; c->h = wc.height = h; wc.border_width = c->bw; + if(!c->mon->lt[c->mon->sellt]->arrange || !c->isfloating) { + for(n = 0, d = nexttiled(selmon->clients); d; d = nexttiled(d->next), n++); + if(n == 1) { + wc.border_width = 0; + c->w = wc.width += borderpx * 2; + c->h = wc.height += borderpx * 2; + } + } XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); configure(c); XSync(dpy, False);