diff options
-rw-r--r-- | config.def.h | 3 | ||||
-rw-r--r-- | dwm.c | 34 |
2 files changed, 3 insertions, 34 deletions
diff --git a/config.def.h b/config.def.h index 5251d56..0ebcf1a 100644 --- a/config.def.h +++ b/config.def.h @@ -89,9 +89,6 @@ static const Key keys[] = { { MODKEY, XK_d, incnmaster, {.i = -1 } }, { MODKEY, XK_h, setmfact, {.f = -0.05} }, { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { MODKEY|ShiftMask, XK_b, setcfact, {.f = +0.25} }, - { MODKEY|ShiftMask, XK_n, setcfact, {.f = -0.25} }, - { MODKEY|ShiftMask, XK_m, setcfact, {.f = 0.00} }, { MODKEY|ShiftMask, XK_l, movestack, {.i = +1 } }, { MODKEY|ShiftMask, XK_h, movestack, {.i = -1 } }, { MODKEY, XK_Return, zoom, {0} }, @@ -88,7 +88,6 @@ typedef struct Client Client; struct Client { char name[256]; float mina, maxa; - float cfact; int x, y, w, h; int oldx, oldy, oldw, oldh; int basew, baseh, incw, inch, maxw, maxh, minw, minh, hintsvalid; @@ -208,7 +207,6 @@ static void setclientstate(Client *c, long state); static void setfocus(Client *c); static void setfullscreen(Client *c, int fullscreen); static void setlayout(const Arg *arg); -static void setcfact(const Arg *arg); static void setmfact(const Arg *arg); static void setup(void); static void seturgent(Client *c, int urg); @@ -1159,7 +1157,6 @@ manage(Window w, XWindowAttributes *wa) c->w = c->oldw = wa->width; c->h = c->oldh = wa->height; c->oldbw = wa->border_width; - c->cfact = 1.0; updatetitle(c); if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) { @@ -1690,23 +1687,6 @@ setlayout(const Arg *arg) drawbar(selmon); } -void setcfact(const Arg *arg) { - float f; - Client *c; - - c = selmon->sel; - - if(!arg || !c || !selmon->lt[selmon->sellt]->arrange) - return; - f = arg->f + c->cfact; - if(arg->f == 0.0) - f = 1.0; - else if(f < 0.25 || f > 4.0) - return; - c->cfact = f; - arrange(selmon); -} - /* arg > 1.0 will set mfact absolutely */ void setmfact(const Arg *arg) @@ -1889,15 +1869,9 @@ void tile(Monitor *m) { unsigned int i, n, h, mw, my, ty; - float mfacts = 0, sfacts = 0; Client *c; - for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++) { - if (n < m->nmaster) - mfacts += c->cfact; - else - sfacts += c->cfact; - } + for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); if (n == 0) return; @@ -1907,17 +1881,15 @@ tile(Monitor *m) 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) * (c->cfact / mfacts); + h = (m->wh - my) / (MIN(n, m->nmaster) - i); resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); if (my + HEIGHT(c) < m->wh) my += HEIGHT(c); - mfacts -= c->cfact; } else { - h = (m->wh - ty) * (c->cfact / sfacts); + h = (m->wh - ty) / (n - i); resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); if (ty + HEIGHT(c) < m->wh) ty += HEIGHT(c); - sfacts -= c->cfact; } } |