From: Anselm R Garbe Date: Sat, 17 May 2008 13:23:05 +0000 (+0100) Subject: removed tileh, renamed tilev into tile again, removed counttiles, tilemaster X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=42c4b310032ca6f54cdc861d74369b6373d0c33e;p=dwm.git removed tileh, renamed tilev into tile again, removed counttiles, tilemaster --- diff --git a/config.def.h b/config.def.h index 2891780..8bd6b69 100644 --- a/config.def.h +++ b/config.def.h @@ -25,7 +25,7 @@ Rule rules[] = { Layout layouts[] = { /* symbol function */ - { "[]=", tilev }, /* first entry is default */ + { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "", monocle }, /* TODO: remove this */ }; diff --git a/dwm.c b/dwm.c index 3650ccd..25bc926 100644 --- a/dwm.c +++ b/dwm.c @@ -119,7 +119,6 @@ void cleanup(void); void configure(Client *c); void configurenotify(XEvent *e); void configurerequest(XEvent *e); -unsigned int counttiled(void); void destroynotify(XEvent *e); void detach(Client *c); void detachstack(Client *c); @@ -168,12 +167,8 @@ void spawn(const char *arg); void tag(const char *arg); unsigned int textnw(const char *text, unsigned int len); unsigned int textw(const char *text); -void tileh(void); -void tilehstack(unsigned int n); -Client *tilemaster(unsigned int n); void tileresize(Client *c, int x, int y, int w, int h); -void tilev(void); -void tilevstack(unsigned int n); +void tile(void); void togglefloating(const char *arg); void togglelayout(const char *arg); void toggletag(const char *arg); @@ -468,15 +463,6 @@ configurerequest(XEvent *e) { XSync(dpy, False); } -unsigned int -counttiled(void) { - unsigned int n; - Client *c; - - for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next), n++); - return n; -} - void destroynotify(XEvent *e) { Client *c; @@ -1507,44 +1493,6 @@ textw(const char *text) { return textnw(text, strlen(text)) + dc.font.height; } -void -tileh(void) { - int x, w; - unsigned int i, n = counttiled(); - Client *c; - - if(n == 0) - return; - c = tilemaster(n); - if(--n == 0) - return; - - x = tx; - w = tw / n; - if(w < bh) - w = tw; - - for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { - if(i + 1 == n) /* remainder */ - tileresize(c, x, ty, (tx + tw) - x - 2 * c->bw, th - 2 * c->bw); - else - tileresize(c, x, ty, w - 2 * c->bw, th - 2 * c->bw); - if(w != tw) - x = c->x + c->w + 2 * c->bw; - } -} - -Client * -tilemaster(unsigned int n) { - Client *c = nexttiled(clients); - - if(n == 1) - tileresize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw); - else - tileresize(c, mx, my, mw - 2 * c->bw, mh - 2 * c->bw); - return c; -} - void tileresize(Client *c, int x, int y, int w, int h) { resize(c, x, y, w, h, RESIZEHINTS); @@ -1554,17 +1502,27 @@ tileresize(Client *c, int x, int y, int w, int h) { } void -tilev(void) { +tile(void) { int y, h; - unsigned int i, n = counttiled(); + unsigned int i, n; Client *c; + for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next), n++); if(n == 0) return; - c = tilemaster(n); + + /* master */ + c = nexttiled(clients); + + if(n == 1) + tileresize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw); + else + tileresize(c, mx, my, mw - 2 * c->bw, mh - 2 * c->bw); + if(--n == 0) return; + /* tile stack */ y = ty; h = th / n; if(h < bh)