diff -r baee494346e5 client.c --- a/client.c Sat Feb 24 15:40:50 2007 +0100 +++ b/client.c Mon Feb 26 13:57:03 2007 +0100 @@ -384,3 +384,19 @@ unmanage(Client *c) { XUngrabServer(dpy); lt->arrange(); } + +void +moveresize(const char *arg) { + int x, y, w, h, nx, ny, nw, nh; + char xabs, yabs, wabs, habs; + + if(!sel || !sel->isfloating || sel->isfixed || !arg) + return; + if(sscanf(arg, "%d%c %d%c %d%c %d%c %d%c", &x, &xabs, &y, &yabs, &w, &wabs, &h, &habs) != 8) + return; + nx = xabs == 'r' ? sel->x + x : x; + ny = yabs == 'r' ? sel->y + y : y; + nw = wabs == 'r' ? sel->w + w : w; + nh = habs == 'r' ? sel->h + h : h; + resize(sel, nx, ny, nw, nh, True); +}