commit 3e51e1f0f6bb8f608c0ccfd6ff19669f0bd305b0
parent 2c1cf7aa469f08f878e97afad35cde153db3bd65
Author: Andrew Antle <andrew@antlechrist.org>
Date: Tue, 15 Jun 2010 22:13:27 -0400
Updated fibonacci patch.
Diffstat:
2 files changed, 86 insertions(+), 2 deletions(-)
diff --git a/dwm.suckless.org/patches/dwm-5.8.2-fibonacci.diff b/dwm.suckless.org/patches/dwm-5.8.2-fibonacci.diff
@@ -0,0 +1,85 @@
+diff --git a/config.def.h b/config.def.h
+index cca37df..91b91aa 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -29,1 +29,2 @@
++#include "fibonacci.c"
+ static const Layout layouts[] = {
+@@ -34,3 +35,5 @@
++ { "[@]", spiral },
++ { "[\\]", dwindle },
+ };
+
+ /* key definitions */
+diff --git a/fibonacci.c b/fibonacci.c
+new file mode 100644
+index 0000000..fce0a57
+--- /dev/null
++++ b/fibonacci.c
+@@ -0,0 +1,66 @@
++void
++fibonacci(Monitor *mon, int s) {
++ unsigned int i, n, nx, ny, nw, nh;
++ Client *c;
++
++ for(n = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next), n++);
++ if(n == 0)
++ return;
++
++ nx = mon->wx;
++ ny = 0;
++ nw = mon->ww;
++ nh = mon->wh;
++
++ for(i = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next)) {
++ if((i % 2 && nh / 2 > 2 * c->bw)
++ || (!(i % 2) && nw / 2 > 2 * c->bw)) {
++ if(i < n - 1) {
++ if(i % 2)
++ nh /= 2;
++ else
++ nw /= 2;
++ if((i % 4) == 2 && !s)
++ nx += nw;
++ else if((i % 4) == 3 && !s)
++ ny += nh;
++ }
++ if((i % 4) == 0) {
++ if(s)
++ ny += nh;
++ else
++ ny -= nh;
++ }
++ else if((i % 4) == 1)
++ nx += nw;
++ else if((i % 4) == 2)
++ ny += nh;
++ else if((i % 4) == 3) {
++ if(s)
++ nx += nw;
++ else
++ nx -= nw;
++ }
++ if(i == 0)
++ {
++ if(n != 1)
++ nw = mon->ww * mon->mfact;
++ ny = mon->wy;
++ }
++ else if(i == 1)
++ nw = mon->ww - nw;
++ i++;
++ }
++ resize(c, nx, ny, nw - 2 * c->bw, nh - 2 * c->bw, False);
++ }
++}
++
++void
++dwindle(Monitor *mon) {
++ fibonacci(mon, 1);
++}
++
++void
++spiral(Monitor *mon) {
++ fibonacci(mon, 0);
++}
diff --git a/dwm.suckless.org/patches/fibonacci.md b/dwm.suckless.org/patches/fibonacci.md
@@ -40,7 +40,7 @@ arrangement can be seen below.
## Download
- * [dwm-5.6.1-fibonacci.diff][4] (1.9k) (20090911)
+ * [dwm-5.8.2-fibonacci.diff](dwm-5.8.2-fibonacci.diff)
## Maintainer
@@ -53,4 +53,3 @@ patch. Thanks to Jan Christoph Ebersbach for updating this patch for versions
[1]: http://schot.a-eskwadraat.nl/images/dwm-spiral_small.png
[2]: http://schot.a-eskwadraat.nl/images/dwm-spiral.png
[3]: http://www.xmonad.org
-[4]: http://www.aplusbi.com/projects/dwm/dwm-5.6.1-fibonacci.diff