JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
fixing c->weight handling
[dwm.git] / tag.c
diff --git a/tag.c b/tag.c
index 3a32c52..5337d25 100644 (file)
--- a/tag.c
+++ b/tag.c
@@ -106,6 +106,7 @@ settags(Client *c)
        if(!matched)
                for(i = 0; i < ntags; i++)
                        c->tags[i] = seltag[i];
+       for(c->weight = 0; c->weight < ntags && !c->tags[c->weight]; c->weight++);
 }
 
 void
@@ -119,11 +120,8 @@ tag(Arg *arg)
        for(i = 0; i < ntags; i++)
                sel->tags[i] = False;
        sel->tags[arg->i] = True;
-       settitle(sel);
-       if(!isvisible(sel))
-               arrange(NULL);
-       else
-               drawstatus();
+       sel->weight = arg->i;
+       arrange(NULL);
 }
 
 void
@@ -138,7 +136,6 @@ toggletag(Arg *arg)
        for(i = 0; i < ntags && !sel->tags[i]; i++);
        if(i == ntags)
                sel->tags[arg->i] = True;
-       settitle(sel);
-       if(!isvisible(sel))
-               arrange(NULL);
+       for(sel->weight = 0; sel->weight < ntags && !sel->tags[sel->weight]; sel->weight++);
+       arrange(NULL);
 }