all repos — dwm @ 42c4b310032ca6f54cdc861d74369b6373d0c33e

my dwm build

removed tileh, renamed tilev into tile again, removed counttiles, tilemaster
Anselm R Garbe garbeam@gmail.com
Sat, 17 May 2008 14:23:05 +0100
commit

42c4b310032ca6f54cdc861d74369b6373d0c33e

parent

a785a0d71213c2ab628778727c4354ad5bb517fb

2 files changed, 15 insertions(+), 57 deletions(-)

jump to
M config.def.hconfig.def.h

@@ -25,7 +25,7 @@ #define SNAP 32 /* snap pixel */

Layout layouts[] = { /* symbol function */ - { "[]=", tilev }, /* first entry is default */ + { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "<M>", monocle }, /* TODO: remove this */ };
M dwm.cdwm.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);

@@ -466,15 +461,6 @@ wc.stack_mode = ev->detail;

XConfigureWindow(dpy, ev->window, ev->value_mask, &wc); } 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

@@ -1508,44 +1494,6 @@ 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); if((RESIZEHINTS) && ((c->h < bh) || (c->h > h) || (c->w < bh) || (c->w > w)))

@@ -1554,17 +1502,27 @@ resize(c, x, y, w, h, False);

} 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)