X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=view.c;h=0c9ea6f0374c3edab6e26934ca266c1f5016c8e3;hb=f320cd203b13b277a33c76191db5626fa342b646;hp=24b034945440ec1cd3068d4833dd439c91c79ee6;hpb=6651dd7fd9e8e95cfc6c472f1adfeff41735d798;p=dwm.git diff --git a/view.c b/view.c index 24b0349..0c9ea6f 100644 --- 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); @@ -191,26 +195,15 @@ isvisible(Client *c) { } void -resizecol(Arg *arg) { - unsigned int n; - Client *c; - - for(n = 0, c = clients; c; c = c->next) - if(isvisible(c) && !c->isfloat) - n++; - if(!sel || sel->isfloat || n < 2 || (arrange == dofloat)) - return; - if(sel == getnext(clients)) { +resizemaster(Arg *arg) { + if(arg->i == 0) + master = MASTER; + else { if(master + arg->i > 950 || master + arg->i < 50) return; master += arg->i; } - else { - if(master - arg->i > 950 || master - arg->i < 50) - return; - master -= arg->i; - } - arrange(NULL); + arrange(); } void @@ -247,7 +240,7 @@ void togglemode(Arg *arg) { arrange = (arrange == dofloat) ? dotile : dofloat; if(sel) - arrange(NULL); + arrange(); else drawstatus(); } @@ -261,7 +254,7 @@ toggleview(Arg *arg) { if(i == ntags) seltag[arg->i] = True; /* cannot toggle last view */ reorder(); - arrange(NULL); + arrange(); } void @@ -272,7 +265,7 @@ view(Arg *arg) { seltag[i] = False; seltag[arg->i] = True; reorder(); - arrange(NULL); + arrange(); } void @@ -282,7 +275,7 @@ viewall(Arg *arg) { for(i = 0; i < ntags; i++) seltag[i] = True; reorder(); - arrange(NULL); + arrange(); } void @@ -310,5 +303,5 @@ zoom(Arg *arg) { c->next = clients; clients = c; focus(c); - arrange(NULL); + arrange(); }