codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
--- dwm-6.0/old.dwm.c 2011-12-19 12:02:46.000000000 -0300 +++ dwm-6.0/dwm.c 2012-02-07 21:57:07.403678228 -0300 @@ -127,6 +127,7 @@ struct Monitor { char ltsymbol[16]; float mfact; + float mhfact; int nmaster; int num; int by; /* bar geometry */ @@ -220,6 +221,7 @@ static void setfullscreen(Client *c, Bool fullscreen); static void setlayout(const Arg *arg); static void setmfact(const Arg *arg); +static void setmhfact(const Arg *arg); static void setup(void); static void showhide(Client *c); static void sigchld(int unused); @@ -651,6 +653,7 @@ die("fatal: could not malloc() %u bytes\n", sizeof(Monitor)); m->tagset[0] = m->tagset[1] = 1; m->mfact = mfact; + m->mhfact = mhfact; m->nmaster = nmaster; m->showbar = showbar; m->topbar = topbar; @@ -1580,6 +1583,20 @@ arrange(selmon); } +/* arg > 1.0 will set mfact absolutly */ +void +setmhfact(const Arg *arg) { + float f; + + if(!arg || !selmon->lt[selmon->sellt]->arrange) + return; + f = arg->f < 1.0 ? arg->f + selmon->mhfact : arg->f - 1.0; + if(f < 0.1 || f > 0.9) + return; + selmon->mhfact = f; + arrange(selmon); +} + void setup(void) { XSetWindowAttributes wa; @@ -1716,7 +1733,10 @@ mw = m->ww; for(i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) if(i < m->nmaster) { - h = (m->wh - my) / (MIN(n, m->nmaster) - i); + if((i == 0) && (MIN(n, m->nmaster) > 1)) + h = m->wh * m->mhfact; + else + h = (m->wh - my) / (MIN(n, m->nmaster) - i); resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), False); my += HEIGHT(c); }
Private
[
?
]
Run code
Submit