diff -r 34c88d74dff0 -r bf37ef388dd6 dwm.c --- a/dwm.c Mon Mar 24 13:49:19 2008 +0000 +++ b/dwm.c Mon Mar 24 14:23:28 2008 +0000 @@ -178,6 +178,7 @@ void setclientstate(Client *c, long state); void setgeom(const char *arg); void setlayout(const char *arg); +void setmfact(const char *arg); void setup(void); void spawn(const char *arg); void tag(const char *arg); @@ -1463,6 +1464,26 @@ } void +setmfact(const char *arg) { + double delta; + + if(!arg) + return; + delta = strtod(arg, NULL); + if(arg[0] == '-' || arg[0] == '+') { + if(mfact + delta < 0.1 || mfact + delta > 0.9) + return; + mfact += delta; + } + else { + if(delta < 0.1 || delta > 0.9) + return; + mfact = delta; + } + arrange(); +} + +void setup(void) { unsigned int i, w; XSetWindowAttributes wa;