fix cfact

This commit is contained in:
speedie 2023-07-04 18:09:24 +02:00
parent bd93ca3aae
commit 30ae2a876d
2 changed files with 21 additions and 31 deletions

View file

@ -98,12 +98,14 @@ static const Layout layouts[] = {
static const char *spmenucmd[] = { "spmenu_run", "-x", NULL }; static const char *spmenucmd[] = { "spmenu_run", "-x", NULL };
static const char *spmenucmd_d[] = { "spmenu_run", "-d", NULL }; static const char *spmenucmd_d[] = { "spmenu_run", "-d", NULL };
static const char *termcmd[] = { "st", NULL }; static const char *termcmd[] = { "st", NULL };
static const char *browser[] = { "chromium", NULL };
static const Key keys[] = { static const Key keys[] = {
/* modifier key function argument */ /* modifier key function argument */
{ MODKEY, XK_semicolon, spawn, {.v = spmenucmd_d } }, { MODKEY, XK_semicolon, spawn, {.v = spmenucmd_d } },
{ MODKEY|ShiftMask, XK_semicolon, spawn, {.v = spmenucmd } }, { MODKEY|ShiftMask, XK_semicolon, spawn, {.v = spmenucmd } },
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
{ MODKEY|ShiftMask, XK_w, spawn, {.v = browser } },
{ MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_b, togglebar, {0} },
{ MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_j, focusstack, {.i = +1 } },
{ MODKEY, XK_k, focusstack, {.i = -1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } },
@ -111,26 +113,26 @@ static const Key keys[] = {
{ MODKEY, XK_d, incnmaster, {.i = -1 } }, { MODKEY, XK_d, incnmaster, {.i = -1 } },
{ MODKEY|ControlMask, XK_i, incnstack, {.i = +1 } }, { MODKEY|ControlMask, XK_i, incnstack, {.i = +1 } },
{ MODKEY|ControlMask, XK_u, incnstack, {.i = -1 } }, { MODKEY|ControlMask, XK_u, incnstack, {.i = -1 } },
{ MODKEY, XK_h, setmfact, {.f = -0.05} }, { MODKEY, XK_a, setmfact, {.f = -0.05} },
{ MODKEY, XK_l, setmfact, {.f = +0.05} }, { MODKEY, XK_d, setmfact, {.f = +0.05} },
{ MODKEY|ShiftMask, XK_h, setcfact, {.f = +0.25} }, { MODKEY|ShiftMask, XK_k, setcfact, {.f = +0.25} },
{ MODKEY|ShiftMask, XK_l, setcfact, {.f = -0.25} }, { MODKEY|ShiftMask, XK_j, setcfact, {.f = -0.25} },
{ MODKEY|ShiftMask, XK_o, setcfact, {.f = 0.00} }, { MODKEY|ShiftMask, XK_o, setcfact, {.f = 0.00} },
{ MODKEY|Mod4Mask, XK_u, incrgaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_u, incrgaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_u, incrgaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_u, incrgaps, {.i = -1 } },
{ MODKEY|Mod4Mask, XK_i, incrigaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_i, incrigaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_i, incrigaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_i, incrigaps, {.i = -1 } },
{ MODKEY|Mod4Mask, XK_o, incrogaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_o, incrogaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_o, incrogaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_o, incrogaps, {.i = -1 } },
{ MODKEY|Mod4Mask, XK_6, incrihgaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_6, incrihgaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_6, incrihgaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_6, incrihgaps, {.i = -1 } },
{ MODKEY|Mod4Mask, XK_7, incrivgaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_7, incrivgaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_7, incrivgaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_7, incrivgaps, {.i = -1 } },
{ MODKEY|Mod4Mask, XK_8, incrohgaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_8, incrohgaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_8, incrohgaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_8, incrohgaps, {.i = -1 } },
{ MODKEY|Mod4Mask, XK_9, incrovgaps, {.i = +1 } }, { MODKEY|Mod1Mask, XK_9, incrovgaps, {.i = +1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_9, incrovgaps, {.i = -1 } }, { MODKEY|Mod1Mask|ShiftMask, XK_9, incrovgaps, {.i = -1 } },
{ MODKEY|Mod4Mask|ShiftMask, XK_0, defaultgaps, {0} }, { MODKEY|Mod1Mask|ShiftMask, XK_0, defaultgaps, {0} },
{ MODKEY, XK_Return, zoom, {0} }, { MODKEY, XK_Return, zoom, {0} },
{ MODKEY, XK_Tab, view, {0} }, { MODKEY, XK_Tab, view, {0} },
{ MODKEY|ControlMask, XK_z, showhideclient, {0} }, { MODKEY|ControlMask, XK_z, showhideclient, {0} },

View file

@ -49,19 +49,11 @@ getfactsforrange(Monitor *m, int an, int ai, int size, int *rest, float *fact)
facts = 0; facts = 0;
for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
if (i >= ai && i < (ai + an)) if (i >= ai && i < (ai + an))
#if CFACTS_PATCH
facts += c->cfact; facts += c->cfact;
#else
facts += 1;
#endif // CFACTS_PATCH
for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
if (i >= ai && i < (ai + an)) if (i >= ai && i < (ai + an))
#if CFACTS_PATCH
total += size * (c->cfact / facts); total += size * (c->cfact / facts);
#else
total += size / facts;
#endif // CFACTS_PATCH
*rest = size - total; *rest = size - total;
*fact = facts; *fact = facts;
@ -335,9 +327,7 @@ arrange_left_to_right(Monitor *m, int x, int y, int h, int w, int ih, int iv, in
getfactsforrange(m, an, ai, w, &rest, &facts); getfactsforrange(m, an, ai, w, &rest, &facts);
for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) {
if (i >= ai && i < (ai + an)) { if (i >= ai && i < (ai + an)) {
#if CFACTS_PATCH
fact = c->cfact; fact = c->cfact;
#endif // CFACTS_PATCH
resize(c, x, y, w * (fact / facts) + ((i - ai) < rest ? 1 : 0) - (2*c->bw), h - (2*c->bw), 0); resize(c, x, y, w * (fact / facts) + ((i - ai) < rest ? 1 : 0) - (2*c->bw), h - (2*c->bw), 0);
x += WIDTH(c) + iv; x += WIDTH(c) + iv;
} }
@ -358,9 +348,7 @@ arrange_top_to_bottom(Monitor *m, int x, int y, int h, int w, int ih, int iv, in
getfactsforrange(m, an, ai, h, &rest, &facts); getfactsforrange(m, an, ai, h, &rest, &facts);
for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) {
if (i >= ai && i < (ai + an)) { if (i >= ai && i < (ai + an)) {
#if CFACTS_PATCH
fact = c->cfact; fact = c->cfact;
#endif // CFACTS_PATCH
resize(c, x, y, w - (2*c->bw), h * (fact / facts) + ((i - ai) < rest ? 1 : 0) - (2*c->bw), 0); resize(c, x, y, w - (2*c->bw), h * (fact / facts) + ((i - ai) < rest ? 1 : 0) - (2*c->bw), 0);
y += HEIGHT(c) + ih; y += HEIGHT(c) + ih;
} }