[dwm] recent changes since 3.6[.1]
Hi there, dwm-3.7 is on its way, and some more polishing appeared: - I replaced the Arg-union typedef with a const char *, this leads to a cleaner config.h in Key definitions, e.g. [..] { MODKEY, XK_d, incnmaster, -1 }, \ { MODKEY, XK_i, incnmaster, 1 }, \ { MODKEY, XK_h, incmasterw, -15 }, \ { MODKEY, XK_l, incmasterw, 15 }, \ [..] - zoom() now only works in tiling layout, togglemax() is externalized now and bound to Mod1-m (versatile layout only) - this made zoom() less cluttered and the Mod1-Return behavior more predictable - versatile clients are indicated by an empty square in front of their title, maximized versatile clients are indicated by a filled square in front of their title (basically I reuse the drawsquare() stuff for tags) - I also renamed resizemaster() into incmasterw(), because it behaves similiar to incnmaster(). So please check if hg tip is usable (to me it is). Personally I believe dwm is really polished now. Regards, -- Anselm R. Garbe http://www.suckless.org/ GPG key: 0D73F361
Re: [dwm] recent changes since 3.6[.1]
dwm-3.7 is on its way, and some more polishing appeared: - I replaced the Arg-union typedef with a const char *, this leads to a cleaner config.h in Key definitions, e.g. [..] { MODKEY, XK_d, incnmaster, -1 }, \ { MODKEY, XK_i, incnmaster, 1 }, \ { MODKEY, XK_h, incmasterw, -15 }, \ { MODKEY, XK_l, incmasterw, 15 }, \ [..] - zoom() now only works in tiling layout, togglemax() is externalized now and bound to Mod1-m (versatile layout only) - this made zoom() less cluttered and the Mod1-Return behavior more predictable You forget to inform the focusclient(1) focusclient(-1) change too. btw i read your patch and I think you can reduce about 7 lines your code if you ignore the invalid values, that imho they must be ignored, so this check must be done in configure time, not in execution time. -- for(c = sel-next; c !isvisible(c); c = c-next); if (!c) { if (atoi(arg) 0) for(c = clients; c !isvisible(c); c = c-next); else for(for(c = clients; c c-next; c = c-next); ; c !isvisible(c); c = c-prev); } } -- BTW, about the incmasterw I think the default value for it should be a multiplier of 8. Because resolutions are 640, 800, 1024, 1280, ... all of them can be divided by 8 without precision loss. This way I recommend to use 16, 32 or 64. I personally use 32 on all my boxes. 16 is too low, and I've use't two or three times to get the width I want. BTW imho 15 is wrong. BTW i think this value could be proportional to screen resolution instead of pixel size. --pancake
Re: [dwm] recent changes since 3.6[.1]
On Thu, Feb 22, 2007 at 05:24:45PM +0100, pancake wrote: dwm-3.7 is on its way, and some more polishing appeared: - I replaced the Arg-union typedef with a const char *, this leads to a cleaner config.h in Key definitions, e.g. [..] { MODKEY, XK_d, incnmaster, -1 }, \ { MODKEY, XK_i, incnmaster, 1 }, \ { MODKEY, XK_h, incmasterw, -15 }, \ { MODKEY, XK_l, incmasterw, 15 }, \ [..] - zoom() now only works in tiling layout, togglemax() is externalized now and bound to Mod1-m (versatile layout only) - this made zoom() less cluttered and the Mod1-Return behavior more predictable You forget to inform the focusclient(1) focusclient(-1) change too. I mentioned it in a different mail... btw i read your patch and I think you can reduce about 7 lines your code if you ignore the invalid values, that imho they must be ignored, so this check must be done in configure time, not in execution time. -- for(c = sel-next; c !isvisible(c); c = c-next); if (!c) { if (atoi(arg) 0) for(c = clients; c !isvisible(c); c = c-next); else for(for(c = clients; c c-next; c = c-next); ; c !isvisible(c); c = c-prev); } } -- You were right that it could be simplified, but your version seems incorrect to me, - what if I really want to focus the previous client? I pushed a different version which removed the switch()... now interpreting 0 as prev, and = 0 as next... BTW, about the incmasterw I think the default value for it should be a multiplier of 8. Because resolutions are 640, 800, 1024, 1280, ... all of them can be divided by 8 without precision loss. This way I recommend to use 16, 32 or 64. I personally use 32 on all my boxes. 16 is too low, and I've use't two or three times to get the width I want. BTW imho 15 is wrong. BTW i think this value could be proportional to screen resolution instead of pixel size. I set MASTERWIDTH to 640 per thousand and the steps to 32 pixels, I think that's ok... Regards, -- Anselm R. Garbe http://www.suckless.org/ GPG key: 0D73F361