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