sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 3d97aafb232de826999de822b70059e53d41f7fe
parent b96972d2b93b7af64499a1790673d2b5ae4eac3c
Author: Aaron Duxler <aaron.duxler@gmail.com>
Date:   Wed, 29 May 2019 00:48:25 +0200

[dwm][patch] ru_gaps, double border fix for ru_gaplessgrid and link fixed in index.md

Diffstat:
Ddwm.suckless.org/patches/ru_gaps/dwm-ru_gapelessgrid-6.2.diff | 55-------------------------------------------------------
Adwm.suckless.org/patches/ru_gaps/dwm-ru_gaplessgrid-6.2.diff | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/ru_gaps/index.md | 2+-
3 files changed, 66 insertions(+), 56 deletions(-)

diff --git a/dwm.suckless.org/patches/ru_gaps/dwm-ru_gapelessgrid-6.2.diff b/dwm.suckless.org/patches/ru_gaps/dwm-ru_gapelessgrid-6.2.diff @@ -1,55 +0,0 @@ -diff -up a/config.def.h b/config.def.h ---- a/config.def.h 2019-05-12 17:49:58.316594678 +0200 -+++ b/config.def.h 2019-05-12 18:00:07.816583101 +0200 -@@ -39,6 +39,7 @@ static const int resizehints = 1; /* - - static const Layout layouts[] = { - /* symbol arrange function */ -+ { "###", gaplessgrid }, - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, -diff -upN a/gaplessgrid.c b/gaplessgrid.c ---- a/gaplessgrid.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/gaplessgrid.c 2019-05-12 13:16:17.589927256 +0200 -@@ -0,0 +1,40 @@ -+void -+gaplessgrid(Monitor *m) { -+ unsigned int n, cols, rows, cn, rn, i, cx, cy, cw, ch; -+ Client *c; -+ -+ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++) ; -+ if(n == 0) -+ return; -+ if(n == 1){ -+ c = nexttiled(m->clients); -+ resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0); -+ return; -+ } -+ -+ /* grid dimensions */ -+ for(cols = 0; cols <= n/2; cols++) -+ if(cols*cols >= n) -+ break; -+ if(n == 5) /* set layout against the general calculation: not 1:2:2, but 2:3 */ -+ cols = 2; -+ rows = n/cols; -+ -+ /* window geometries */ -+ cw = cols ? m->ww / cols : m->ww; -+ cn = 0; /* current column number */ -+ rn = 0; /* current row number */ -+ for(i = 0, c = nexttiled(m->clients); c; i++, c = nexttiled(c->next)) { -+ if(i/rows + 1 > cols - n%cols) -+ rows = n/cols + 1; -+ ch = rows ? m->wh / rows : m->wh; -+ cx = m->wx + cn*cw; -+ cy = m->wy + rn*ch; -+ resize(c, cx + m->gappx, cy + m->gappx, cw - 2 * (c->bw + m->gappx), ch - 2 * (c->bw + m->gappx), False); -+ rn++; -+ if(rn >= rows) { -+ rn = 0; -+ cn++; -+ } -+ } -+} diff --git a/dwm.suckless.org/patches/ru_gaps/dwm-ru_gaplessgrid-6.2.diff b/dwm.suckless.org/patches/ru_gaps/dwm-ru_gaplessgrid-6.2.diff @@ -0,0 +1,65 @@ +diff -upN a/config.def.h b/config.def.h +--- a/config.def.h 2019-05-28 13:43:00.326646120 +0200 ++++ b/config.def.h 2019-05-29 00:33:28.536627035 +0200 +@@ -36,8 +36,10 @@ static const float mfact = 0.55; /* + static const int nmaster = 1; /* number of clients in master area */ + static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ + ++#include "gaplessgrid.c" + static const Layout layouts[] = { + /* symbol arrange function */ ++ { "###", gaplessgrid }, + { "[]=", tile }, /* first entry is default */ + { "><>", NULL }, /* no layout function means floating behavior */ + { "[M]", monocle }, +diff -upN a/gaplessgrid.c b/gaplessgrid.c +--- a/gaplessgrid.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/gaplessgrid.c 2019-05-29 00:26:33.779968246 +0200 +@@ -0,0 +1,47 @@ ++void ++gaplessgrid(Monitor *m) { ++ unsigned int n, cols, rows, cn, rn, i, cx, cy, cw, ch; ++ Client *c; ++ ++ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++) ; ++ if(n == 0) ++ return; ++ if(n == 1){ ++ c = nexttiled(m->clients); ++ resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0); ++ return; ++ } ++ ++ /* grid dimensions */ ++ for(cols = 0; cols <= n/2; cols++) ++ if(cols*cols >= n) ++ break; ++ if(n == 5) /* set layout against the general calculation: not 1:2:2, but 2:3 */ ++ cols = 2; ++ rows = n/cols; ++ ++ /* window geometries */ ++ cw = cols ? m->ww / cols : m->ww; ++ cn = 0; /* current column number */ ++ rn = 0; /* current row number */ ++ for(i = 0, c = nexttiled(m->clients); c; i++, c = nexttiled(c->next)) { ++ if(i/rows + 1 > cols - n%cols) ++ rows = n/cols + 1; ++ ch = rows ? m->wh / rows : m->wh; ++ cx = m->wx + cn*cw; ++ cy = m->wy + rn*ch; ++ if(cn+1 == cols && rn+1 == rows) ++ resize(c, cx + m->gappx, cy + m->gappx, cw - 2 * (c->bw + m->gappx), ch - 2 * (c->bw + m->gappx), False); ++ else if(cn+1 == cols) ++ resize(c, cx + m->gappx, cy + m->gappx, cw - 2 * (c->bw + m->gappx), ch - 2 * (c->bw) - m->gappx, False); ++ else if(rn+1 == rows) ++ resize(c, cx + m->gappx, cy + m->gappx, cw - 2 * (c->bw) - m->gappx, ch - 2 * (c->bw + m->gappx), False); ++ else ++ resize(c, cx + m->gappx, cy + m->gappx, cw - 2 * (c->bw) - m->gappx, ch - 2 * (c->bw) - m->gappx, False); ++ rn++; ++ if(rn >= rows) { ++ rn = 0; ++ cn++; ++ } ++ } ++} diff --git a/dwm.suckless.org/patches/ru_gaps/index.md b/dwm.suckless.org/patches/ru_gaps/index.md @@ -27,7 +27,7 @@ A copy of the [fibonacci](../fibonacci/), but with resizeable gaps. * [dwm-ru\_fibonacci-6.2.diff](dwm-ru_fibonacci-6.2.diff) A copy of the [gaplessgrid](../gaplessgrid/), but with resizeable gaps. -* [dwm-ru\_gaplessgrid-6.2.diff](dwm-ru_gaps-6.2.diff) +* [dwm-ru\_gaplessgrid-6.2.diff](dwm-ru_gaplessgrid-6.2.diff) A copy of the [bottomstack](../bottomstack/), but with resizeable gaps. * [dwm-ru\_bottomstack-6.2.diff](dwm-ru_bottomstack-6.2.diff)