about summary refs log tree commit diff stats
path: root/tag.c
diff options
context:
space:
mode:
Diffstat (limited to 'tag.c')
-rw-r--r--tag.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tag.c b/tag.c
index 186a5ae..d6c349b 100644
--- a/tag.c
+++ b/tag.c
@@ -51,8 +51,8 @@ dofloat(Arg *arg)
 {
 	Client *c;
 
-	arrange = dofloat;
 	for(c = clients; c; c = c->next) {
+		c->ismax = False;
 		if(c->tags[tsel]) {
 			resize(c, True, TopLeft);
 		}
@@ -75,7 +75,6 @@ dotile(Arg *arg)
 	Client *c;
 
 	w = sw - mw;
-	arrange = dotile;
 	for(n = 0, c = clients; c; c = c->next)
 		if(c->tags[tsel] && !c->isfloat)
 			n++;
@@ -86,6 +85,7 @@ dotile(Arg *arg)
 		h = sh - bh;
 
 	for(i = 0, c = clients; c; c = c->next) {
+		c->ismax = False;
 		if(c->tags[tsel]) {
 			if(c->isfloat) {
 				higher(c);
@@ -213,6 +213,13 @@ settags(Client *c)
 }
 
 void
+togglemode(Arg *arg)
+{
+	arrange = arrange == dofloat ? dotile : dofloat;
+	arrange(NULL);
+}
+
+void
 view(Arg *arg)
 {
 	tsel = arg->i;