diff -r d47d6e28441b -r 5d79c351e30a view.c --- a/view.c Mon Jan 08 13:01:37 2007 +0100 +++ b/view.c Mon Jan 08 17:33:24 2007 +0100 @@ -2,6 +2,7 @@ * See LICENSE file for license details. */ #include "dwm.h" +#include /* static */ @@ -149,10 +150,15 @@ void incnmaster(Arg *arg) { - if((nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) + if((arrange == dofloat) || (nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) return; nmaster += arg->i; - arrange(); + snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); + bmw = textw(mtext); + if(sel) + arrange(); + else + drawstatus(); } Bool @@ -218,6 +224,8 @@ void togglemode(Arg *arg) { arrange = (arrange == dofloat) ? dotile : dofloat; + snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); + bmw = textw(mtext); if(sel) arrange(); else