view.c
changeset 674 5d79c351e30a
parent 662 3e0f11a44293
child 675 1438e35b622e
--- 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 <stdio.h>
 
 /* 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