init
This commit is contained in:
70
dwm-6.6/patches/dwm-horizgrid-6.1.diff
Normal file
70
dwm-6.6/patches/dwm-horizgrid-6.1.diff
Normal file
@@ -0,0 +1,70 @@
|
||||
From 064e1d48631cd9b03f32b42d7be79677197ee42f Mon Sep 17 00:00:00 2001
|
||||
From: Marshall Mason <marshallmason3@gmail.com>
|
||||
Date: Mon, 9 Nov 2015 12:38:28 -0800
|
||||
Subject: [PATCH] Added horizgrid function
|
||||
|
||||
---
|
||||
config.def.h | 2 ++
|
||||
horizgrid.c | 32 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 34 insertions(+)
|
||||
create mode 100644 horizgrid.c
|
||||
|
||||
diff --git a/config.def.h b/config.def.h
|
||||
index eaae8f3..c2ad519 100644
|
||||
--- a/config.def.h
|
||||
+++ b/config.def.h
|
||||
@@ -36,11 +36,13 @@ static const float mfact = 0.55; /* factor of master area size [0.05..0.95]
|
||||
static const int nmaster = 1; /* number of clients in master area */
|
||||
static const Bool resizehints = True; /* True means respect size hints in tiled resizals */
|
||||
|
||||
+#include "horizgrid.c"
|
||||
static const Layout layouts[] = {
|
||||
/* symbol arrange function */
|
||||
{ "[]=", tile }, /* first entry is default */
|
||||
{ "><>", NULL }, /* no layout function means floating behavior */
|
||||
{ "[M]", monocle },
|
||||
+ { "###", horizgrid },
|
||||
};
|
||||
|
||||
/* key definitions */
|
||||
diff --git a/horizgrid.c b/horizgrid.c
|
||||
new file mode 100644
|
||||
index 0000000..51ce0f8
|
||||
--- /dev/null
|
||||
+++ b/horizgrid.c
|
||||
@@ -0,0 +1,32 @@
|
||||
+void
|
||||
+horizgrid(Monitor *m) {
|
||||
+ Client *c;
|
||||
+ unsigned int n, i;
|
||||
+ int w = 0;
|
||||
+ int ntop, nbottom = 0;
|
||||
+
|
||||
+ /* Count windows */
|
||||
+ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
|
||||
+
|
||||
+ if(n == 0)
|
||||
+ return;
|
||||
+ else if(n == 1) { /* Just fill the whole screen */
|
||||
+ c = nexttiled(m->clients);
|
||||
+ resize(c, m->wx, m->wy, m->ww - (2*c->bw), m->wh - (2*c->bw), False);
|
||||
+ } else if(n == 2) { /* Split vertically */
|
||||
+ w = m->ww / 2;
|
||||
+ c = nexttiled(m->clients);
|
||||
+ resize(c, m->wx, m->wy, w - (2*c->bw), m->wh - (2*c->bw), False);
|
||||
+ c = nexttiled(c->next);
|
||||
+ resize(c, m->wx + w, m->wy, w - (2*c->bw), m->wh - (2*c->bw), False);
|
||||
+ } else {
|
||||
+ ntop = n / 2;
|
||||
+ nbottom = n - ntop;
|
||||
+ for(i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) {
|
||||
+ if(i < ntop)
|
||||
+ resize(c, m->wx + i * m->ww / ntop, m->wy, m->ww / ntop - (2*c->bw), m->wh / 2 - (2*c->bw), False);
|
||||
+ else
|
||||
+ resize(c, m->wx + (i - ntop) * m->ww / nbottom, m->wy + m->wh / 2, m->ww / nbottom - (2*c->bw), m->wh / 2 - (2*c->bw), False);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.1.4
|
||||
|
||||
Reference in New Issue
Block a user