[dwm] minor fix for moveresize patch

From: pancake <pancake_AT_youterm.com>
Date: Sat, 17 Mar 2007 21:54:25 +0100

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