Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-tatami-6.2.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-tatami-6.2.diff (4391B)
---
1 diff -Naur dwm/config.def.h dwm-tatami/config.def.h
2 --- dwm/config.def.h 2020-09-24 02:14:27.545355268 -0500
3 +++ dwm-tatami/config.def.h 2020-09-24 02:46:12.041952267 -0500
4 @@ -34,13 +34,15 @@
5 /* layout(s) */
6 static const float mfact = 0.55; /* factor of master area size [0.0…
7 static const int nmaster = 1; /* number of clients in master are…
8 -static const int resizehints = 1; /* 1 means respect size hints in t…
9 +static const int resizehints = 0; /* 1 means respect size hints in t…
10
11 +#include "tatami.c"
12 static const Layout layouts[] = {
13 /* symbol arrange function */
14 { "[]=", tile }, /* first entry is default */
15 { "><>", NULL }, /* no layout function means floating b…
16 { "[M]", monocle },
17 + { "|+|", tatami },
18 };
19
20 /* key definitions */
21 @@ -76,6 +78,7 @@
22 { MODKEY, XK_t, setlayout, {.v …
23 { MODKEY, XK_f, setlayout, {.v …
24 { MODKEY, XK_m, setlayout, {.v …
25 + { MODKEY, XK_y, setlayout, {.v …
26 { MODKEY, XK_space, setlayout, {0} …
27 { MODKEY|ShiftMask, XK_space, togglefloating, {0} …
28 { MODKEY, XK_0, view, {.ui…
29 diff -Naur dwm/tatami.c dwm-tatami/tatami.c
30 --- dwm/tatami.c 1969-12-31 18:00:00.000000000 -0600
31 +++ dwm-tatami/tatami.c 2020-09-24 02:17:14.335349175 -0500
32 @@ -0,0 +1,157 @@
33 +void
34 +tatami(Monitor *m) {
35 + unsigned int i, n, nx, ny, nw, nh,
36 + mats, tc,
37 + tnx, tny, tnw, tnh;
38 + Client *c;
39 +
40 + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next)…
41 + if(n == 0)
42 + return;
43 +
44 + nx = m->wx;
45 + ny = 0;
46 + nw = m->ww;
47 + nh = m->wh;
48 +
49 + c = nexttiled(m->clients);
50 +
51 + if(n != 1) nw = m->ww * m->mfact;
52 + ny = m->wy;
53 +
54 + resize(c, nx, ny, nw - 2 * c->bw, nh - 2 * c->bw, False);
55 +
56 + c = nexttiled(c->next);
57 +
58 + nx += nw;
59 + nw = m->ww - nw;
60 +
61 + if(n>1)
62 + {
63 +
64 + tc = n-1;
65 + mats = tc/5;
66 +
67 + nh/=(mats + (tc % 5 > 0));
68 +
69 + for(i = 0; c && (i < (tc % 5)); c = nexttiled(c->next))
70 + {
71 + tnw=nw;
72 + tnx=nx;
73 + tnh=nh;
74 + tny=ny;
75 + switch(tc - (mats*5))
76 + {
77 + case 1://fill
78 + break;
79 + case 2://up and down
80 + if((i % 5) == 0) //up
81 + tnh/=2;
82 + else if((i % 5) == 1) /…
83 + {
84 + tnh/=2;
85 + tny += nh/2;
86 + }
87 + break;
88 + case 3://bottom, up-left and up…
89 + if((i % 5) == 0) //up-l…
90 + {
91 + tnw = nw/2;
92 + tnh = (2*nh)/3;
93 + }
94 + else if((i % 5) == 1)//…
95 + {
96 + tnx += nw/2;
97 + tnw = nw/2;
98 + tnh = (2*nh)/3;
99 + }
100 + else if((i % 5) == 2)//…
101 + {
102 + tnh = nh/3;
103 + tny += (2*nh)/3…
104 + }
105 + break;
106 + case 4://bottom, left, right an…
107 + if((i % 5) == 0) //top
108 + {
109 + tnh = (nh)/4;
110 + }
111 + else if((i % 5) == 1)//…
112 + {
113 + tnw = nw/2;
114 + tny += nh/4;
115 + tnh = (nh)/2;
116 + }
117 + else if((i % 5) == 2)//…
118 + {
119 + tnx += nw/2;
120 + tnw = nw/2;
121 + tny += nh/4;
122 + tnh = (nh)/2;
123 + }
124 + else if((i % 5) == 3)//…
125 + {
126 + tny += (3*nh)/4;
127 + tnh = (nh)/4;
128 + }
129 + break;
130 + }
131 + ++i;
132 + resize(c, tnx, tny, tnw - 2 * c->bw, tnh - 2 * c->bw, F…
133 + }
134 +
135 + ++mats;
136 +
137 + for(i = 0; c && (mats>0); c = nexttiled(c->next)) {
138 +
139 + if((i%5)==0)
140 + {
141 + --mats;
142 + if(((tc % 5) > 0)||(i>=5))
143 + ny+=nh;
144 + }
145 +
146 + tnw=nw;
147 + tnx=nx;
148 + tnh=nh;
149 + tny=ny;
150 +
151 +
152 + switch(i % 5)
153 + {
154 + case 0: //top-left-vert
155 + tnw = (nw)/3;
156 + tnh = (nh*2)/3;
157 + break;
158 + case 1: //top-right-hor
159 + tnx += (nw)/3;
160 + tnw = (nw*2)/3;
161 + tnh = (nh)/3;
162 + break;
163 + case 2: //center
164 + tnx += (nw)/3;
165 + tnw = (nw)/3;
166 + tny += (nh)/3;
167 + tnh = (nh)/3;
168 + break;
169 + case 3: //bottom-right-vert
170 + tnx += (nw*2)/3;
171 + tnw = (nw)/3;
172 + tny += (nh)/3;
173 + tnh = (nh*2)/3;
174 + break;
175 + case 4: //(oldest) bottom-left-hor
176 + tnw = (2*nw)/3;
177 + tny += (2*nh)/3;
178 + tnh = (nh)/3;
179 + break;
180 + default:
181 + break;
182 + }
183 +
184 + ++i;
185 + //i%=5;
186 + resize(c, tnx, tny, tnw - 2 * c->bw, tnh - 2 * c->bw, F…
187 + }
188 + }
189 +}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.