Compare commits
3 Commits
patched-2
...
3cca94e374
| Author | SHA1 | Date | |
|---|---|---|---|
| 3cca94e374 | |||
|
|
9b94466297 | ||
| d0e421c6da |
61
config.def.h
61
config.def.h
@@ -2,8 +2,8 @@
|
|||||||
#include "gaplessgrid.c"
|
#include "gaplessgrid.c"
|
||||||
|
|
||||||
/* appearance */
|
/* appearance */
|
||||||
static const unsigned int borderpx = 1; /* border pixel of windows */
|
static const unsigned int borderpx = 2; /* border pixel of windows */
|
||||||
static const unsigned int gappx = 6; /* gaps between windows */
|
static const unsigned int gappx = 2; /* gaps between windows */
|
||||||
static const unsigned int snap = 32; /* snap pixel */
|
static const unsigned int snap = 32; /* snap pixel */
|
||||||
static const int showbar = 1; /* 0 means no bar */
|
static const int showbar = 1; /* 0 means no bar */
|
||||||
static const int topbar = 1; /* 0 means bottom bar */
|
static const int topbar = 1; /* 0 means bottom bar */
|
||||||
@@ -14,16 +14,18 @@ static const char col_gray2[] = "#444444";
|
|||||||
static const char col_gray3[] = "#bbbbbb";
|
static const char col_gray3[] = "#bbbbbb";
|
||||||
static const char col_gray4[] = "#eeeeee";
|
static const char col_gray4[] = "#eeeeee";
|
||||||
static const char col_cyan[] = "#005577";
|
static const char col_cyan[] = "#005577";
|
||||||
|
static const char col_border_focus_light[] = "#df8c20"; // hsl(34 75% 50%)
|
||||||
|
static const char col_border_focus_dark[] = "#b25e34"; // hsl(20 55% 45%)
|
||||||
static const char *colorsdark[][3] = {
|
static const char *colorsdark[][3] = {
|
||||||
/* fg bg border */
|
/* fg bg border */
|
||||||
[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
|
[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
|
||||||
[SchemeSel] = { col_gray4, col_cyan, col_cyan },
|
[SchemeSel] = { col_gray4, col_cyan, col_border_focus_dark },
|
||||||
[SchemeHid] = { col_cyan, col_gray1, col_cyan },
|
[SchemeHid] = { col_cyan, col_gray1, col_cyan },
|
||||||
};
|
};
|
||||||
static const char *colorslight[][3] = {
|
static const char *colorslight[][3] = {
|
||||||
/* fg bg border */
|
/* fg bg border */
|
||||||
[SchemeNorm] = { col_gray1, col_gray3, col_gray2 },
|
[SchemeNorm] = { col_gray1, col_gray3, col_gray2 },
|
||||||
[SchemeSel] = { col_cyan, col_gray4, col_cyan },
|
[SchemeSel] = { col_cyan, col_gray4, col_border_focus_light },
|
||||||
[SchemeHid] = { col_cyan, col_gray1, col_cyan },
|
[SchemeHid] = { col_cyan, col_gray1, col_cyan },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -56,7 +58,7 @@ static const Layout layouts[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* key definitions */
|
/* key definitions */
|
||||||
#define MODKEY Mod1Mask
|
#define MODKEY Mod4Mask
|
||||||
#define TAGKEYS(KEY,TAG) \
|
#define TAGKEYS(KEY,TAG) \
|
||||||
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
|
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
|
||||||
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
|
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
|
||||||
@@ -68,26 +70,30 @@ static const Layout layouts[] = {
|
|||||||
|
|
||||||
/* commands */
|
/* commands */
|
||||||
static char dmenumon[2] = "0"; /* component of dmenu{dark,light}, manipulated in spawndmenu() */
|
static char dmenumon[2] = "0"; /* component of dmenu{dark,light}, manipulated in spawndmenu() */
|
||||||
static const char *dmenudark[] = { "dmenu_run", "-m", dmenumon, "-i", "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
static const char *dmenudark[] = { "dmenu_run", "-l", "10", "-m", dmenumon, "-i", "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
||||||
static const char *dmenulight[] = { "dmenu_run", "-m", dmenumon, "-i", "-fn", dmenufont, "-nb", col_gray3, "-nf", col_gray1, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
static const char *dmenulight[] = { "dmenu_run", "-l", "10", "-m", dmenumon, "-i", "-fn", dmenufont, "-nb", col_gray3, "-nf", col_gray1, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
||||||
static const char *termcmd[] = { "st", NULL };
|
static const char *termcmd[] = { "st", NULL };
|
||||||
#include "shift-tools.c"
|
static const char *lockcmd[] = { "slock", NULL };
|
||||||
|
static const char *suspendcmd[] = { "systemctl", "suspend", NULL };
|
||||||
|
static const char *themecmd[] = { "lupan-set-theme", "toggle", NULL };
|
||||||
|
|
||||||
|
#include "shift-tools.c"
|
||||||
#include "exitdwm.c"
|
#include "exitdwm.c"
|
||||||
#include "movestack.c"
|
#include "movestack.c"
|
||||||
|
|
||||||
static const Key keys[] = {
|
static const Key keys[] = {
|
||||||
/* modifier key function argument */
|
/* modifier key function argument */
|
||||||
{ MODKEY, XK_p, spawndmenu, {0} },
|
{ MODKEY, XK_p, spawndmenu, {0} },
|
||||||
{ MODKEY, XK_o, shiftviewclients, { .i = +1 } },
|
{ MODKEY, XK_u, shiftview, { .i = +1 } },
|
||||||
{ MODKEY|ShiftMask, XK_o, shiftview, { .i = +1 } },
|
{ MODKEY|ShiftMask, XK_u, shifttag, { .i = +1 } },
|
||||||
{ MODKEY|ShiftMask, XK_i, shiftview, { .i = -1 } },
|
{ MODKEY|ShiftMask, XK_y, shifttag, { .i = -1 } },
|
||||||
{ MODKEY, XK_i, shiftviewclients, { .i = -1 } },
|
{ MODKEY, XK_y, shiftview, { .i = -1 } },
|
||||||
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
|
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
|
||||||
{ MODKEY, XK_b, togglebar, {0} },
|
{ MODKEY, XK_b, togglebar, {0} },
|
||||||
{ MODKEY, XK_j, focusstackvis, {.i = +1 } },
|
{ MODKEY, XK_j, focusstackvis, {.i = +1 } },
|
||||||
{ MODKEY, XK_k, focusstackvis, {.i = -1 } },
|
{ MODKEY, XK_k, focusstackvis, {.i = -1 } },
|
||||||
{ MODKEY|ShiftMask, XK_j, focusstackhid, {.i = +1 } },
|
{ MODKEY|ControlMask, XK_j, focusstackhid, {.i = +1 } },
|
||||||
{ MODKEY|ShiftMask, XK_k, focusstackhid, {.i = -1 } },
|
{ MODKEY|ControlMask, XK_k, focusstackhid, {.i = -1 } },
|
||||||
{ 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} },
|
||||||
@@ -100,11 +106,12 @@ static const Key keys[] = {
|
|||||||
{ MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } },
|
{ MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } },
|
||||||
{ MODKEY, XK_Return, zoom, {0} },
|
{ MODKEY, XK_Return, zoom, {0} },
|
||||||
{ MODKEY, XK_Tab, view, {0} },
|
{ MODKEY, XK_Tab, view, {0} },
|
||||||
{ MODKEY, XK_g, goback, {0} },
|
{ MODKEY, XK_w, goback, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||||
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
|
{ MODKEY, XK_g, setlayout, {.v = &layouts[3]} },
|
||||||
{ 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 } },
|
||||||
@@ -115,7 +122,7 @@ static const Key keys[] = {
|
|||||||
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
|
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
|
||||||
{ MODKEY, XK_s, show, {0} },
|
{ MODKEY, XK_s, show, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_s, showall, {0} },
|
{ MODKEY|ShiftMask, XK_s, showall, {0} },
|
||||||
{ MODKEY, XK_h, hide, {0} },
|
{ MODKEY|ControlMask, XK_s, hide, {0} },
|
||||||
TAGKEYS( XK_1, 0)
|
TAGKEYS( XK_1, 0)
|
||||||
TAGKEYS( XK_2, 1)
|
TAGKEYS( XK_2, 1)
|
||||||
TAGKEYS( XK_3, 2)
|
TAGKEYS( XK_3, 2)
|
||||||
@@ -125,20 +132,24 @@ static const Key keys[] = {
|
|||||||
TAGKEYS( XK_7, 6)
|
TAGKEYS( XK_7, 6)
|
||||||
TAGKEYS( XK_8, 7)
|
TAGKEYS( XK_8, 7)
|
||||||
TAGKEYS( XK_9, 8)
|
TAGKEYS( XK_9, 8)
|
||||||
{ MODKEY|ShiftMask, XK_j, focusbynum, {.i = 0} },
|
{ ControlMask, XK_1, focusbynum, {.i = 0} },
|
||||||
{ MODKEY|ShiftMask, XK_k, focusbynum, {.i = 1} },
|
{ ControlMask, XK_2, focusbynum, {.i = 1} },
|
||||||
{ MODKEY|ShiftMask, XK_l, focusbynum, {.i = 2} },
|
{ ControlMask, XK_3, focusbynum, {.i = 2} },
|
||||||
{ MODKEY|ShiftMask, XK_colon, focusbynum, {.i = 3} },
|
{ ControlMask, XK_4, focusbynum, {.i = 3} },
|
||||||
{ MODKEY|ShiftMask, XK_f, focusbynum, {.i = 4} },
|
{ ControlMask, XK_5, focusbynum, {.i = 4} },
|
||||||
{ MODKEY|ShiftMask, XK_d, focusbynum, {.i = 5} },
|
{ ControlMask, XK_6, focusbynum, {.i = 5} },
|
||||||
{ MODKEY|ShiftMask, XK_s, focusbynum, {.i = 6} },
|
{ ControlMask, XK_7, focusbynum, {.i = 6} },
|
||||||
{ MODKEY|ShiftMask, XK_a, focusbynum, {.i = 7} },
|
{ ControlMask, XK_8, focusbynum, {.i = 7} },
|
||||||
|
{ ControlMask, XK_9, focusbynum, {.i = 8} },
|
||||||
{ MODKEY|ShiftMask, XK_q, quit, {0} },
|
{ MODKEY|ShiftMask, XK_q, quit, {0} },
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} },
|
{ MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} },
|
||||||
{ MODKEY|ShiftMask, XK_e, exitdwm, {0} },
|
{ MODKEY|ShiftMask, XK_e, exitdwm, {0} },
|
||||||
{ MODKEY, XK_o, winview, {0} },
|
{ MODKEY, XK_o, winview, {0} },
|
||||||
{ MODKEY, XK_g, gridall, {} },
|
{ MODKEY, XK_a, gridall, {} },
|
||||||
{ MODKEY, XK_r, winviewmono, {} },
|
{ MODKEY, XK_r, winviewmono, {} },
|
||||||
|
{ MODKEY|ControlMask|ShiftMask, XK_s, spawn, {.v = suspendcmd } },
|
||||||
|
{ MODKEY|ControlMask|ShiftMask, XK_l, spawn, {.v = lockcmd } },
|
||||||
|
{ MODKEY|ControlMask|ShiftMask, XK_t, spawn, {.v = themecmd } },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* button definitions */
|
/* button definitions */
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
void
|
|
||||||
gaplessgrid(Monitor *m) {
|
|
||||||
unsigned int n, cols, rows, cn, rn, i, cx, cy, cw, ch;
|
|
||||||
Client *c;
|
|
||||||
|
|
||||||
for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++) ;
|
|
||||||
if(n == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* grid dimensions */
|
|
||||||
for(cols = 0; cols <= n/2; cols++)
|
|
||||||
if(cols*cols >= n)
|
|
||||||
break;
|
|
||||||
if(n == 5) /* set layout against the general calculation: not 1:2:2, but 2:3 */
|
|
||||||
cols = 2;
|
|
||||||
rows = n/cols;
|
|
||||||
|
|
||||||
/* window geometries */
|
|
||||||
cw = cols ? m->ww / cols : m->ww;
|
|
||||||
cn = 0; /* current column number */
|
|
||||||
rn = 0; /* current row number */
|
|
||||||
for(i = 0, c = nexttiled(m->clients); c; i++, c = nexttiled(c->next)) {
|
|
||||||
if(i/rows + 1 > cols - n%cols)
|
|
||||||
rows = n/cols + 1;
|
|
||||||
ch = rows ? m->wh / rows : m->wh;
|
|
||||||
cx = m->wx + cn*cw;
|
|
||||||
cy = m->wy + rn*ch;
|
|
||||||
resize(c, cx, cy, cw - 2 * c->bw, ch - 2 * c->bw, False);
|
|
||||||
rn++;
|
|
||||||
if(rn >= rows) {
|
|
||||||
rn = 0;
|
|
||||||
cn++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user