Xinqi Bao's Git
0955e635b42a4eba7251607dd8c6affc7eea3638
1 /* See LICENSE file for copyright and license details. */
7 static double mwfact
= MWFACT
;
12 setmwfact(const char *arg
) {
13 double delta
, newfact
;
17 /* arg handling, manipulate mwfact */
20 else if(1 == sscanf(arg
, "%lf", &delta
)) {
21 if(arg
[0] != '+' && arg
[0] != '-')
24 newfact
= mwfact
+ delta
;
27 else if(newfact
> 0.9)
36 unsigned int i
, n
, nx
, ny
, nw
, nh
, mw
, th
;
39 for(n
= 0, c
= nexttiled(clients
); c
; c
= nexttiled(c
->next
))
43 mw
= (n
== 1) ? waw
: mwfact
* waw
;
44 th
= (n
> 1) ? wah
/ (n
- 1) : 0;
50 for(i
= 0, c
= nexttiled(clients
); c
; c
= nexttiled(c
->next
)) {
52 if(i
== 0) { /* master */
53 nw
= mw
- 2 * c
->border
;
54 nh
= wah
- 2 * c
->border
;
56 else { /* tile window */
61 nw
= waw
- mw
- 2 * c
->border
;
62 if(i
+ 1 == n
) /* remainder */
63 nh
= (way
+ wah
) - ny
- 2 * c
->border
;
65 nh
= th
- 2 * c
->border
;
67 resize(c
, nx
, ny
, nw
, nh
, False
);
68 if(n
> 1 && th
!= wah
)
69 ny
+= nh
+ 2 * c
->border
;
75 zoom(const char *arg
) {
78 if(!sel
|| !isarrange(tile
) || sel
->isfloating
)
80 if((c
= sel
) == nexttiled(clients
))
81 if(!(c
= nexttiled(c
->next
)))