| dwm-gaplessgrid-20160731-56a31dc.diff - sites - public wiki contents of suckles… | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| dwm-gaplessgrid-20160731-56a31dc.diff (1108B) | |
| --- | |
| 1 URL: http://dwm.suckless.org/patches/gapless_grid | |
| 2 Add gapless grid layout. | |
| 3 | |
| 4 Index: dwm/gaplessgrid.c | |
| 5 =================================================================== | |
| 6 --- /dev/null | |
| 7 +++ dwm/gaplessgrid.c | |
| 8 @@ -0,0 +1,35 @@ | |
| 9 +void | |
| 10 +gaplessgrid(Monitor *m) { | |
| 11 + unsigned int n, cols, rows, cn, rn, i, cx, cy, cw, ch; | |
| 12 + Client *c; | |
| 13 + | |
| 14 + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next)… | |
| 15 + if(n == 0) | |
| 16 + return; | |
| 17 + | |
| 18 + /* grid dimensions */ | |
| 19 + for(cols = 0; cols <= n/2; cols++) | |
| 20 + if(cols*cols >= n) | |
| 21 + break; | |
| 22 + if(n == 5) /* set layout against the general calculation: not 1… | |
| 23 + cols = 2; | |
| 24 + rows = n/cols; | |
| 25 + | |
| 26 + /* window geometries */ | |
| 27 + cw = cols ? m->ww / cols : m->ww; | |
| 28 + cn = 0; /* current column number */ | |
| 29 + rn = 0; /* current row number */ | |
| 30 + for(i = 0, c = nexttiled(m->clients); c; i++, c = nexttiled(c->… | |
| 31 + if(i/rows + 1 > cols - n%cols) | |
| 32 + rows = n/cols + 1; | |
| 33 + ch = rows ? m->wh / rows : m->wh; | |
| 34 + cx = m->wx + cn*cw; | |
| 35 + cy = m->wy + rn*ch; | |
| 36 + resize(c, cx, cy, cw - 2 * c->bw, ch - 2 * c->bw, False… | |
| 37 + rn++; | |
| 38 + if(rn >= rows) { | |
| 39 + rn = 0; | |
| 40 + cn++; | |
| 41 + } | |
| 42 + } | |
| 43 +} |