diff --git a/README b/README index 77bff78..9571c1d 100644 --- a/README +++ b/README @@ -54,10 +54,5 @@ Customisations * Custom configuration of config.h * windows with title of 'WM_FORCE_FLOATING' are set to floating automatically. -* When moving window to a different tag, focus follows the destination tag. * Merged patch: https://dwm.suckless.org/patches/bottomstack/dwm-bottomstack-6.1.diff * Merged patch: https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.2.diff -* Merged patch: https://dwm.suckless.org/patches/warp/dwm-warp-git-20160626-7af4d43.diff -* Merged patch: https://dwm.suckless.org/patches/dwmc/dwm-dwmc-6.2.diff -* Merged patch: https: //dwm.suckless.org/patches/cfacts/dwm-cfacts-6.2.diff -* Merged patch: https://dwm.suckless.org/patches/fibonacci/dwm-fibonacci-5.8.2.diff diff --git a/config.def.h b/config.def.h index b17cc80..18cafb1 100644 --- a/config.def.h +++ b/config.def.h @@ -36,7 +36,6 @@ static const float mfact = 0.55; /* factor of master area size [0.05..0.95] static const int nmaster = 1; /* number of clients in master area */ static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ -#include "fibonacci.c" static const Layout layouts[] = { /* symbol arrange function */ { "[]=", tile }, /* first entry is default */ @@ -44,8 +43,6 @@ static const Layout layouts[] = { { "[M]", monocle }, { "TTT", bstack }, { "===", bstackhoriz }, - { "[@]", spiral }, - { "[\\]", dwindle }, }; /* key definitions */ @@ -75,9 +72,6 @@ static 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_h, setcfact, {.f = +0.25} }, - { MODKEY|ShiftMask, XK_l, setcfact, {.f = -0.25} }, - { MODKEY|ShiftMask, XK_o, setcfact, {.f = 0.00} }, { MODKEY, XK_Return, zoom, {0} }, { MODKEY, XK_Tab, view, {0} }, { MODKEY|ShiftMask, XK_c, killclient, {0} }, diff --git a/config.h b/config.h index 08fbd3a..2113de0 100644 --- a/config.h +++ b/config.h @@ -41,7 +41,6 @@ static const float mfact = 0.50; /* factor of master area size [0.05..0.95] static const int nmaster = 1; /* number of clients in master area */ static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ -#include "fibonacci.c" static const Layout layouts[] = { /* symbol arrange function */ { "::[]=", tile }, /* first entry is default */ @@ -49,7 +48,6 @@ static const Layout layouts[] = { { "[M]", monocle }, { "TTT", bstack }, { "===", bstackhoriz }, - { "[@]", dwindle }, }; /* key definitions */ @@ -78,9 +76,6 @@ static Key keys[] = { { MODKEY, XK_i, incnmaster, {.i = +1 } }, { MODKEY, XK_d, incnmaster, {.i = -1 } }, { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY|ShiftMask, XK_h, setcfact, {.f = +0.25} }, - { MODKEY|ShiftMask, XK_l, setcfact, {.f = -0.25} }, - { MODKEY|ShiftMask, XK_o, setcfact, {.f = 0.00} }, { MODKEY, XK_l, setmfact, {.f = +0.05} }, { MODKEY, XK_Return, zoom, {0} }, { MODKEY, XK_Tab, view, {0} }, @@ -90,7 +85,6 @@ static Key keys[] = { { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, { MODKEY, XK_v, setlayout, {.v = &layouts[3]} }, { MODKEY|ShiftMask, XK_v, setlayout, {.v = &layouts[4]} }, - { MODKEY|ShiftMask, XK_f, setlayout, {.v = &layouts[5]} }, { MODKEY, XK_space, setlayout, {0} }, { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, { MODKEY, XK_0, view, {.ui = ~0 } }, diff --git a/dwm.c b/dwm.c index 003e56b..9c0295f 100644 --- a/dwm.c +++ b/dwm.c @@ -87,7 +87,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; @@ -207,7 +206,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); @@ -1089,7 +1087,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))) { @@ -1575,23 +1572,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) @@ -1756,15 +1736,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; @@ -1774,15 +1748,13 @@ 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); my += HEIGHT(c); - mfacts -= c->cfact; } else { 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); ty += HEIGHT(c); - sfacts -= c->cfact; } } diff --git a/fibonacci.c b/fibonacci.c deleted file mode 100644 index fce0a57..0000000 --- a/fibonacci.c +++ /dev/null @@ -1,66 +0,0 @@ -void -fibonacci(Monitor *mon, int s) { - unsigned int i, n, nx, ny, nw, nh; - Client *c; - - for(n = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next), n++); - if(n == 0) - return; - - nx = mon->wx; - ny = 0; - nw = mon->ww; - nh = mon->wh; - - for(i = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next)) { - if((i % 2 && nh / 2 > 2 * c->bw) - || (!(i % 2) && nw / 2 > 2 * c->bw)) { - if(i < n - 1) { - if(i % 2) - nh /= 2; - else - nw /= 2; - if((i % 4) == 2 && !s) - nx += nw; - else if((i % 4) == 3 && !s) - ny += nh; - } - if((i % 4) == 0) { - if(s) - ny += nh; - else - ny -= nh; - } - else if((i % 4) == 1) - nx += nw; - else if((i % 4) == 2) - ny += nh; - else if((i % 4) == 3) { - if(s) - nx += nw; - else - nx -= nw; - } - if(i == 0) - { - if(n != 1) - nw = mon->ww * mon->mfact; - ny = mon->wy; - } - else if(i == 1) - nw = mon->ww - nw; - i++; - } - resize(c, nx, ny, nw - 2 * c->bw, nh - 2 * c->bw, False); - } -} - -void -dwindle(Monitor *mon) { - fibonacci(mon, 1); -} - -void -spiral(Monitor *mon) { - fibonacci(mon, 0); -}