aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÖzgür Kesim <oec@codeblau.de>2022-01-29 19:50:27 +0100
committerÖzgür Kesim <oec@codeblau.de>2022-01-29 19:50:27 +0100
commitb88f80fc636963e5ab59d521bb077b1af695d3e0 (patch)
treeffb52275e1c609688bc34997e640906b5f1f1c27
parentc27a657c14b9046bdbd2521804ca194edd3ec712 (diff)
missing info
-rw-r--r--dwm.110
-rw-r--r--dwm.desktop7
-rw-r--r--fibonacci.c67
3 files changed, 84 insertions, 0 deletions
diff --git a/dwm.1 b/dwm.1
index ddc8321..bc2574c 100644
--- a/dwm.1
+++ b/dwm.1
@@ -140,6 +140,16 @@ View all windows with any tag.
.B Mod1\-Control\-[1..n]
Add/remove all windows with nth tag to/from the view.
.TP
+.B Mod1\-g
+Decrease the gaps around windows.
+.TP
+.B Mod1\-Shift-g
+Increase the gaps around windows.
+.TP
+.B Mod1\-Control-g
+Reset the gaps around windows to
+.BR 0 .
+.TP
.B Mod1\-Shift\-q
Quit dwm.
.SS Mouse commands
diff --git a/dwm.desktop b/dwm.desktop
new file mode 100644
index 0000000..1873158
--- /dev/null
+++ b/dwm.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Dwm
+Comment=Dynamic window manager
+Exec=/usr/local/bin/dwm
+Icon=dwm
+Type=XSession
diff --git a/fibonacci.c b/fibonacci.c
new file mode 100644
index 0000000..8ea99e7
--- /dev/null
+++ b/fibonacci.c
@@ -0,0 +1,67 @@
+void
+fibonacci(Monitor *mon, int s) {
+ unsigned int i, n, nx, ny, nw, nh, ng;
+ Client *c;
+
+ for(n = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next), n++);
+ if(n == 0)
+ return;
+
+ ng = mon->gappx;
+ nx = mon->wx + ng;
+ ny = ng;
+ nw = mon->ww - 2*ng;
+ nh = mon->wh - 2*ng;
+
+ 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 - 2*ng, nh - 2 * c->bw - 2*ng, False);
+ }
+}
+
+void
+dwindle(Monitor *mon) {
+ fibonacci(mon, 1);
+}
+
+void
+spiral(Monitor *mon) {
+ fibonacci(mon, 0);
+}