Compare commits
No commits in common. "88316278946f21b7708f533e0bc12c0db71c310b" and "07fb536d57ce87c4b1a934fcf91fe8fabec54e3d" have entirely different histories.
8831627894
...
07fb536d57
5
README
5
README
|
@ -54,10 +54,5 @@ Customisations
|
||||||
|
|
||||||
* Custom configuration of config.h
|
* Custom configuration of config.h
|
||||||
* windows with title of 'WM_FORCE_FLOATING' are set to floating automatically.
|
* 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/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/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
|
|
||||||
|
|
|
@ -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 nmaster = 1; /* number of clients in master area */
|
||||||
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
|
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
|
||||||
|
|
||||||
#include "fibonacci.c"
|
|
||||||
static const Layout layouts[] = {
|
static const Layout layouts[] = {
|
||||||
/* symbol arrange function */
|
/* symbol arrange function */
|
||||||
{ "[]=", tile }, /* first entry is default */
|
{ "[]=", tile }, /* first entry is default */
|
||||||
|
@ -44,8 +43,6 @@ static const Layout layouts[] = {
|
||||||
{ "[M]", monocle },
|
{ "[M]", monocle },
|
||||||
{ "TTT", bstack },
|
{ "TTT", bstack },
|
||||||
{ "===", bstackhoriz },
|
{ "===", bstackhoriz },
|
||||||
{ "[@]", spiral },
|
|
||||||
{ "[\\]", dwindle },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* key definitions */
|
/* key definitions */
|
||||||
|
@ -75,9 +72,6 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||||
{ MODKEY, XK_l, 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_Return, zoom, {0} },
|
||||||
{ MODKEY, XK_Tab, view, {0} },
|
{ MODKEY, XK_Tab, view, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||||
|
|
6
config.h
6
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 nmaster = 1; /* number of clients in master area */
|
||||||
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
|
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
|
||||||
|
|
||||||
#include "fibonacci.c"
|
|
||||||
static const Layout layouts[] = {
|
static const Layout layouts[] = {
|
||||||
/* symbol arrange function */
|
/* symbol arrange function */
|
||||||
{ "::[]=", tile }, /* first entry is default */
|
{ "::[]=", tile }, /* first entry is default */
|
||||||
|
@ -49,7 +48,6 @@ static const Layout layouts[] = {
|
||||||
{ "[M]", monocle },
|
{ "[M]", monocle },
|
||||||
{ "TTT", bstack },
|
{ "TTT", bstack },
|
||||||
{ "===", bstackhoriz },
|
{ "===", bstackhoriz },
|
||||||
{ "[@]", dwindle },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* key definitions */
|
/* key definitions */
|
||||||
|
@ -78,9 +76,6 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
|
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
|
||||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
{ 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_l, setmfact, {.f = +0.05} },
|
||||||
{ MODKEY, XK_Return, zoom, {0} },
|
{ MODKEY, XK_Return, zoom, {0} },
|
||||||
{ MODKEY, XK_Tab, view, {0} },
|
{ MODKEY, XK_Tab, view, {0} },
|
||||||
|
@ -90,7 +85,6 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
{ MODKEY, XK_v, setlayout, {.v = &layouts[3]} },
|
{ MODKEY, XK_v, setlayout, {.v = &layouts[3]} },
|
||||||
{ MODKEY|ShiftMask, XK_v, setlayout, {.v = &layouts[4]} },
|
{ MODKEY|ShiftMask, XK_v, setlayout, {.v = &layouts[4]} },
|
||||||
{ MODKEY|ShiftMask, XK_f, setlayout, {.v = &layouts[5]} },
|
|
||||||
{ MODKEY, XK_space, setlayout, {0} },
|
{ MODKEY, XK_space, setlayout, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||||
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||||
|
|
32
dwm.c
32
dwm.c
|
@ -87,7 +87,6 @@ typedef struct Client Client;
|
||||||
struct Client {
|
struct Client {
|
||||||
char name[256];
|
char name[256];
|
||||||
float mina, maxa;
|
float mina, maxa;
|
||||||
float cfact;
|
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
int oldx, oldy, oldw, oldh;
|
int oldx, oldy, oldw, oldh;
|
||||||
int basew, baseh, incw, inch, maxw, maxh, minw, minh;
|
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 setfocus(Client *c);
|
||||||
static void setfullscreen(Client *c, int fullscreen);
|
static void setfullscreen(Client *c, int fullscreen);
|
||||||
static void setlayout(const Arg *arg);
|
static void setlayout(const Arg *arg);
|
||||||
static void setcfact(const Arg *arg);
|
|
||||||
static void setmfact(const Arg *arg);
|
static void setmfact(const Arg *arg);
|
||||||
static void setup(void);
|
static void setup(void);
|
||||||
static void seturgent(Client *c, int urg);
|
static void seturgent(Client *c, int urg);
|
||||||
|
@ -1089,7 +1087,6 @@ manage(Window w, XWindowAttributes *wa)
|
||||||
c->w = c->oldw = wa->width;
|
c->w = c->oldw = wa->width;
|
||||||
c->h = c->oldh = wa->height;
|
c->h = c->oldh = wa->height;
|
||||||
c->oldbw = wa->border_width;
|
c->oldbw = wa->border_width;
|
||||||
c->cfact = 1.0;
|
|
||||||
|
|
||||||
updatetitle(c);
|
updatetitle(c);
|
||||||
if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {
|
if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {
|
||||||
|
@ -1575,23 +1572,6 @@ setlayout(const Arg *arg)
|
||||||
drawbar(selmon);
|
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 */
|
/* arg > 1.0 will set mfact absolutely */
|
||||||
void
|
void
|
||||||
setmfact(const Arg *arg)
|
setmfact(const Arg *arg)
|
||||||
|
@ -1756,15 +1736,9 @@ void
|
||||||
tile(Monitor *m)
|
tile(Monitor *m)
|
||||||
{
|
{
|
||||||
unsigned int i, n, h, mw, my, ty;
|
unsigned int i, n, h, mw, my, ty;
|
||||||
float mfacts = 0, sfacts = 0;
|
|
||||||
Client *c;
|
Client *c;
|
||||||
|
|
||||||
for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++) {
|
for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
|
||||||
if (n < m->nmaster)
|
|
||||||
mfacts += c->cfact;
|
|
||||||
else
|
|
||||||
sfacts += c->cfact;
|
|
||||||
}
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -1774,15 +1748,13 @@ tile(Monitor *m)
|
||||||
mw = m->ww;
|
mw = m->ww;
|
||||||
for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
|
for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
|
||||||
if (i < m->nmaster) {
|
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);
|
resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0);
|
||||||
my += HEIGHT(c);
|
my += HEIGHT(c);
|
||||||
mfacts -= c->cfact;
|
|
||||||
} else {
|
} else {
|
||||||
h = (m->wh - ty) / (n - i);
|
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);
|
resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0);
|
||||||
ty += HEIGHT(c);
|
ty += HEIGHT(c);
|
||||||
sfacts -= c->cfact;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
66
fibonacci.c
66
fibonacci.c
|
@ -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);
|
|
||||||
}
|
|
Loading…
Reference in New Issue