JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Szabolcs proposal for zoom() as well
[dwm.git] / layout.c
index 26e9de6..abdf30f 100644 (file)
--- a/layout.c
+++ b/layout.c
@@ -198,11 +198,9 @@ setlayout(const char *arg) {
        int i;
 
        if(!arg) {
-               for(i = 0; i < nlayouts && lt != &layout[i]; i++);
-               if(i == nlayouts - 1)
-                       lt = &layout[0];
-               else
-                       lt = &layout[++i];
+               lt++;
+               if(lt == layout + nlayouts)
+                       lt = layout;
        }
        else {
                i = atoi(arg);
@@ -218,7 +216,10 @@ setlayout(const char *arg) {
 
 void
 togglebar(const char *arg) {
-       bpos = (bpos == BarOff) ? BARPOS : BarOff;
+       if(bpos == BarOff)
+               bpos = (BARPOS == BarOff) ? BarTop : BARPOS;
+       else
+               bpos = BarOff;
        updatebarpos();
        lt->arrange();
 }
@@ -246,7 +247,7 @@ void
 zoom(const char *arg) {
        Client *c;
 
-       if(!sel || lt->arrange != tile || sel->isfloating)
+       if(!sel || lt->arrange == floating || sel->isfloating)
                return;
        if((c = sel) == nexttiled(clients))
                if(!(c = nexttiled(c->next)))