Mercurial > dwm-meillo
comparison view.c @ 522:fd1275f3b205
simplified dotile()
author | Anselm R. Garbe <arg@10kloc.org> |
---|---|
date | Thu, 05 Oct 2006 12:13:24 +0200 |
parents | 73afe7587bea |
children | c1dd19da63ef |
comparison
equal
deleted
inserted
replaced
521:73afe7587bea | 522:fd1275f3b205 |
---|---|
1 /* | 1 /* |
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> | 2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
3 * See LICENSE file for license details. | 3 * See LICENSE file for license details. |
4 */ | 4 */ |
5 #include "dwm.h" | 5 #include "dwm.h" |
6 | |
7 #define MINDIM 100 | |
6 | 8 |
7 /* static */ | 9 /* static */ |
8 | 10 |
9 static Client * | 11 static Client * |
10 minclient(void) { | 12 minclient(void) { |
136 c->y = sy + bh; | 138 c->y = sy + bh; |
137 c->w = sw - 2 * BORDERPX; | 139 c->w = sw - 2 * BORDERPX; |
138 c->h = sh - 2 * BORDERPX - bh; | 140 c->h = sh - 2 * BORDERPX - bh; |
139 } | 141 } |
140 else if(i == 0) { /* master window */ | 142 else if(i == 0) { /* master window */ |
143 c->x = sx; | |
144 if(stackpos == StackLeft) | |
145 c->x += stackw; | |
146 c->y = sy + bh; | |
141 switch(stackpos) { | 147 switch(stackpos) { |
142 case StackLeft: | 148 case StackLeft: |
143 c->x = sx + stackw; | 149 case StackRight: |
144 c->y = sy + bh; | |
145 c->w = master - 2 * BORDERPX; | 150 c->w = master - 2 * BORDERPX; |
146 c->h = sh - bh - 2 * BORDERPX; | 151 c->h = sh - bh - 2 * BORDERPX; |
147 break; | 152 break; |
148 case StackBottom: | 153 case StackBottom: |
149 c->x = sx; | |
150 c->y = sy + bh; | |
151 c->w = sw - 2 * BORDERPX; | 154 c->w = sw - 2 * BORDERPX; |
152 c->h = master - 2 * BORDERPX; | 155 c->h = master - 2 * BORDERPX; |
153 break; | 156 break; |
154 case StackRight: | |
155 c->x = sx; | |
156 c->y = sy + bh; | |
157 c->w = master - 2 * BORDERPX; | |
158 c->h = sh - bh - 2 * BORDERPX; | |
159 break; | |
160 } | 157 } |
161 } | 158 } |
162 else if(th > bh) { | 159 else if(th > bh) { /* tile window */ |
163 /* tile window */ | 160 c->x = sx; |
161 if(stackpos == StackRight) | |
162 c->x += master; | |
164 c->w = tw - 2 * BORDERPX; | 163 c->w = tw - 2 * BORDERPX; |
165 c->h = th - 2 * BORDERPX; | 164 c->h = th - 2 * BORDERPX; |
166 switch(stackpos) { | 165 switch(stackpos) { |
167 case StackLeft: | 166 case StackLeft: |
168 c->x = sx; | 167 case StackRight: |
169 c->y = sy + (i - 1) * th + bh; | 168 c->y = sy + (i - 1) * th + bh; |
170 if(i + 1 == n) | 169 if(i + 1 == n) |
171 c->h = sh - c->y - 2 * BORDERPX; | 170 c->h = sh - c->y - 2 * BORDERPX; |
172 break; | 171 break; |
173 case StackBottom: | 172 case StackBottom: |
174 c->x = sx; | |
175 c->y = sy + master + (i - 1) * th + bh; | 173 c->y = sy + master + (i - 1) * th + bh; |
176 if(i + 1 == n) | 174 if(i + 1 == n) |
177 c->h = sh - c->y - 2 * BORDERPX; | 175 c->h = sh - c->y - 2 * BORDERPX; |
178 break; | 176 break; |
179 case StackRight: | |
180 c->x = sx + master; | |
181 c->y = sy + (i - 1) * th + bh; | |
182 if(i + 1 == n) | |
183 c->h = sh - c->y - 2 * BORDERPX; | |
184 break; | |
185 } | 177 } |
186 } | 178 } |
187 else { /* fallback if th < bh */ | 179 else { /* fallback if th < bh */ |
180 c->x = sx; | |
181 if(stackpos == StackRight) | |
182 c->x += master; | |
183 c->y = sy + bh; | |
184 if(stackpos == StackBottom) | |
185 c->y += master; | |
188 c->w = stackw - 2 * BORDERPX; | 186 c->w = stackw - 2 * BORDERPX; |
189 c->h = stackh - 2 * BORDERPX; | 187 c->h = stackh - 2 * BORDERPX; |
190 switch(stackpos) { | |
191 case StackLeft: | |
192 c->x = sx; | |
193 c->y = sy + bh; | |
194 break; | |
195 case StackBottom: | |
196 c->x = sx; | |
197 c->y = sy + master + bh; | |
198 break; | |
199 case StackRight: | |
200 c->x = sx + master; | |
201 c->y = sy + bh; | |
202 break; | |
203 } | |
204 } | 188 } |
205 resize(c, False, TopLeft); | 189 resize(c, False, TopLeft); |
206 i++; | 190 i++; |
207 } | 191 } |
208 else | 192 else |
269 if(!sel || sel->isfloat || n < 2 || (arrange == dofloat)) | 253 if(!sel || sel->isfloat || n < 2 || (arrange == dofloat)) |
270 return; | 254 return; |
271 | 255 |
272 s = stackpos == StackBottom ? sh - bh : sw; | 256 s = stackpos == StackBottom ? sh - bh : sw; |
273 if(sel == getnext(clients)) { | 257 if(sel == getnext(clients)) { |
274 if(master + arg->i > s - MINW || master + arg->i < MINW) | 258 if(master + arg->i > s - MINDIM || master + arg->i < MINDIM) |
275 return; | 259 return; |
276 master += arg->i; | 260 master += arg->i; |
277 } | 261 } |
278 else { | 262 else { |
279 if(master - arg->i > s - MINW || master - arg->i < MINW) | 263 if(master - arg->i > s - MINDIM || master - arg->i < MINDIM) |
280 return; | 264 return; |
281 master -= arg->i; | 265 master -= arg->i; |
282 } | 266 } |
283 arrange(NULL); | 267 arrange(NULL); |
284 } | 268 } |