Xinqi Bao's Git
1 /* See LICENSE file for copyright and license details. */
7 static double mwfact
= MWFACT
;
12 addtomwfact(const char *arg
) {
18 /* arg handling, manipulate mwfact */
19 if(arg
&& (1 == sscanf(arg
, "%lf", &delta
))) {
20 if(delta
+ mwfact
> 0.1 && delta
+ mwfact
< 0.9)
28 unsigned int i
, n
, nx
, ny
, nw
, nh
, mw
, th
;
31 for(n
= 0, c
= nexttiled(clients
); c
; c
= nexttiled(c
->next
))
35 mw
= (n
== 1) ? waw
: mwfact
* waw
;
36 th
= (n
> 1) ? wah
/ (n
- 1) : 0;
42 for(i
= 0, c
= clients
; c
; c
= c
->next
)
47 if(i
== 0) { /* master */
48 nw
= mw
- 2 * c
->border
;
49 nh
= wah
- 2 * c
->border
;
51 else { /* tile window */
56 nw
= waw
- mw
- 2 * c
->border
;
57 if(i
+ 1 == n
) /* remainder */
58 nh
= (way
+ wah
) - ny
- 2 * c
->border
;
60 nh
= th
- 2 * c
->border
;
62 resize(c
, nx
, ny
, nw
, nh
, False
);
63 if(n
> 1 && th
!= wah
)
64 ny
+= nh
+ 2 * c
->border
;
70 zoom(const char *arg
) {
73 if(!sel
|| !isarrange(tile
) || sel
->isfloating
)
75 if((c
= sel
) == nexttiled(clients
))
76 if(!(c
= nexttiled(c
->next
)))