I've found a bug in the moveresize patch. You can resize windows when you are in floating mode
if the window is not marked as floating individually, so, the fix is easy:
--------------client.c----------------------
void
moveresize(const char *arg) {
int x, y, w, h, nx, ny, nw, nh;
char xabs, yabs, wabs, habs;
if(lt->arrange != floating) // <<--- this is the patch
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 == 'x' ? sel->x + x : x;
ny = yabs == 'y' ? sel->y + y : y;
nw = wabs == 'w' ? sel->w + w : w;
nh = habs == 'h' ? sel->h + h : h;
resize(sel, nx, ny, nw, nh, True);
}
----------client.c--------------------------
my config is:
{ MODKEY|ControlMask, XK_h, moveresize, "-64x 0y 0w 0h" }, \
{ MODKEY|ControlMask, XK_l, moveresize, "64x 0y 0w 0h" }, \
{ MODKEY|ControlMask, XK_j, moveresize, "0x 64y 0w 0h" }, \
{ MODKEY|ControlMask, XK_k, moveresize, "0x -64y 0w 0h" }, \
{ MODKEY|ShiftMask|ControlMask, XK_h, moveresize, "0x 0y -32w 0h" }, \
{ MODKEY|ShiftMask|ControlMask, XK_l, moveresize, "0x 0y 32w 0h" }, \
{ MODKEY|ShiftMask|ControlMask, XK_j, moveresize, "0x 0y 0w 32h" }, \
{ MODKEY|ShiftMask|ControlMask, XK_k, moveresize, "0x 0y 0w -32h" }, \
Have fun!
PD: I would like to see the moveresize patch included into the mainstream dwm. ARG what do you think?
--pancake
Received on Sat Mar 17 2007 - 20:54:28 UTC
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:39:27 UTC