JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied sanders try2 patch
[dwm.git] / view.c
diff --git a/view.c b/view.c
index 24b0349..85bfabf 100644 (file)
--- a/view.c
+++ b/view.c
@@ -44,6 +44,9 @@ reorder(void) {
 static void
 togglemax(Client *c) {
        XEvent ev;
+               
+       if(c->isfixed)
+               return;
 
        if((c->ismax = !c->ismax)) {
                c->rx = c->x; c->x = sx;
@@ -63,7 +66,7 @@ togglemax(Client *c) {
 
 /* extern */
 
-void (*arrange)(Arg *) = DEFMODE;
+void (*arrange)(void) = DEFMODE;
 
 void
 detach(Client *c) {
@@ -77,7 +80,7 @@ detach(Client *c) {
 }
 
 void
-dofloat(Arg *arg) {
+dofloat(void) {
        Client *c;
 
        for(c = clients; c; c = c->next) {
@@ -95,7 +98,7 @@ dofloat(Arg *arg) {
 }
 
 void
-dotile(Arg *arg) {
+dotile(void) {
        unsigned int i, n, mpx, stackw, stackh, th;
        Client *c;
 
@@ -108,7 +111,7 @@ dotile(Arg *arg) {
        if(n > 1)
                th /= (n - 1);
 
-       for(i = 0, c = clients; c; c = c->next, i++)
+       for(i = 0, c = clients; c; c = c->next)
                if(isvisible(c)) {
                        if(c->isfloat) {
                                resize(c, True, TopLeft);
@@ -139,6 +142,7 @@ dotile(Arg *arg) {
                                        c->h = stackh - 2 * BORDERPX;
                        }
                        resize(c, False, TopLeft);
+                       i++;
                }
                else
                        ban(c);
@@ -210,7 +214,7 @@ resizecol(Arg *arg) {
                        return;
                master -= arg->i;
        }
-       arrange(NULL);
+       arrange();
 }
 
 void
@@ -247,7 +251,7 @@ void
 togglemode(Arg *arg) {
        arrange = (arrange == dofloat) ? dotile : dofloat;
        if(sel)
-               arrange(NULL);
+               arrange();
        else
                drawstatus();
 }
@@ -261,7 +265,7 @@ toggleview(Arg *arg) {
        if(i == ntags)
                seltag[arg->i] = True; /* cannot toggle last view */
        reorder();
-       arrange(NULL);
+       arrange();
 }
 
 void
@@ -272,7 +276,7 @@ view(Arg *arg) {
                seltag[i] = False;
        seltag[arg->i] = True;
        reorder();
-       arrange(NULL);
+       arrange();
 }
 
 void
@@ -282,7 +286,7 @@ viewall(Arg *arg) {
        for(i = 0; i < ntags; i++)
                seltag[i] = True;
        reorder();
-       arrange(NULL);
+       arrange();
 }
 
 void
@@ -310,5 +314,5 @@ zoom(Arg *arg) {
        c->next = clients;
        clients = c;
        focus(c);
-       arrange(NULL);
+       arrange();
 }