From 737af5b71b462a26c8cdc7ab608dc16a81dd0916 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Sat, 21 Mar 2020 14:54:29 +0900 Subject: [PATCH] Configuration improvement - Make shortcuts more intuitive - Recover the good old X11-zap with the quit shortcut Exclude unused functions from compilation --- config.def.h | 109 +++++++++++++++++++++++++++++++-------------------- dwm.c | 10 +++++ 2 files changed, 77 insertions(+), 42 deletions(-) diff --git a/config.def.h b/config.def.h index 1f41137..2e77d59 100755 --- a/config.def.h +++ b/config.def.h @@ -1,7 +1,7 @@ /* See LICENSE file for copyright and license details. */ /* appearance */ -static const char font[] = "Sans 8"; +static const char font[] = "YOzNFb 8"; static const char normbordercolor[] = "#000000"; static const char normbgcolor[] = "#000000"; static const char normfgcolor[] = "#bbbbbb"; @@ -48,10 +48,10 @@ static const Layout layouts[] = { /* key definitions */ #define MODKEY Mod1Mask #define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ + { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ + { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, /* helper for spawning shell commands in the pre dwm-5.0 fashion */ #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } @@ -61,42 +61,65 @@ static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, static const char *termcmd[] = { "uxterm", NULL }; static Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, -/* { MODKEY, XK_b, togglebar, {0} }, */ - { MODKEY, XK_a, focusstack, {.i = +1 } }, - { MODKEY, XK_d, focusstack, {.i = -1 } }, - { MODKEY, XK_w, incnmaster, {.i = +1 } }, - { MODKEY, XK_s, incnmaster, {.i = -1 } }, -/* { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY, XK_l, setmfact, {.f = +0.05} },*/ - { MODKEY, XK_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY|ShiftMask, XK_x, killclient, {0} }, - { MODKEY, XK_e, setlayout, {.v = &layouts[LAYOUT_BOOKSHELF]} }, - { MODKEY, XK_r, setlayout, {.v = &layouts[LAYOUT_BOOKSTACK]} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[LAYOUT_TILE]} }, - { MODKEY, XK_y, setlayout, {.v = &layouts[LAYOUT_FLOAT]} }, - { MODKEY, XK_u, setlayout, {.v = &layouts[LAYOUT_MONOCLE]} }, -/* { MODKEY, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, */ - { MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, -/* { MODKEY, XK_comma, focusmon, {.i = -1 } }, - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, */ - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) - TAGKEYS( XK_4, 3) - TAGKEYS( XK_5, 4) - TAGKEYS( XK_6, 5) - TAGKEYS( XK_7, 6) - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, + /* modifier key function argument */ + + /* get the zap keyboard shortcut back */ + { MODKEY|ControlMask, XK_BackSpace, quit, {0} }, + /* invoke dmenu */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + /* open a terminal */ + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, +#ifndef M10K + { MODKEY, XK_b, togglebar, {0} }, +#endif /* ! M10K */ + /* move focus to left screen */ + { MODKEY, XK_q, focusmon, {.i = -1 } }, + /* move window to left screen */ + { MODKEY|ShiftMask, XK_q, tagmon, {.i = -1 } }, + /* move focus to right screen */ + { MODKEY, XK_e, focusmon, {.i = +1 } }, + /* move window to right screen */ + { MODKEY|ShiftMask, XK_e, tagmon, {.i = +1 } }, + /* focus on left/above window (bookshelf/bookstack) */ + { MODKEY, XK_a, focusstack, {.i = -1 } }, + /* focus on right/below window (bookshelf/bookstack) */ + { MODKEY, XK_d, focusstack, {.i = +1 } }, + /* increase master size */ + { MODKEY, XK_w, incnmaster, {.i = +1 } }, + /* decrease master size */ + { MODKEY, XK_s, incnmaster, {.i = -1 } }, + /* move window to master */ + { MODKEY, XK_Return, zoom, {0} }, +#ifndef M10K + { MODKEY, XK_h, setmfact, {.f = -0.05} }, + { MODKEY, XK_l, setmfact, {.f = +0.05} }, +#endif /* ! M10K */ + /* move to previous tag */ + { MODKEY, XK_Tab, view, {0} }, + /* kill focused window */ + { MODKEY|ShiftMask, XK_x, killclient, {0} }, + { MODKEY, XK_r, setlayout, {.v = &layouts[LAYOUT_BOOKSHELF]} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[LAYOUT_BOOKSTACK]} }, + { MODKEY, XK_y, setlayout, {.v = &layouts[LAYOUT_TILE]} }, + { MODKEY, XK_u, setlayout, {.v = &layouts[LAYOUT_FLOAT]} }, + { MODKEY, XK_i, setlayout, {.v = &layouts[LAYOUT_MONOCLE]} }, +#ifndef M10K + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, +#endif /* ! M10K */ + /* show all tags */ + { MODKEY, XK_0, view, {.ui = ~0 } }, + /* move focused window to all tags */ + { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, + TAGKEYS( XK_1, 0) + TAGKEYS( XK_2, 1) + TAGKEYS( XK_3, 2) + TAGKEYS( XK_4, 3) + TAGKEYS( XK_5, 4) + TAGKEYS( XK_6, 5) + TAGKEYS( XK_7, 6) + TAGKEYS( XK_8, 7) + TAGKEYS( XK_9, 8) }; /* button definitions */ @@ -106,7 +129,9 @@ static Button buttons[] = { { ClkLtSymbol, 0, Button1, setlayout, {0} }, { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[LAYOUT_MONOCLE]} }, { ClkWinTitle, 0, Button2, zoom, {0} }, -/* { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, */ +#ifndef M10K + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, +#endif /* ! M10K */ { ClkClientWin, MODKEY, Button1, movemouse, {0} }, { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, diff --git a/dwm.c b/dwm.c index 9f9ee2a..30d7701 100755 --- a/dwm.c +++ b/dwm.c @@ -20,6 +20,8 @@ * * To understand everything else, start reading main(). */ +#define M10K 1 + #include #include #include @@ -257,7 +259,9 @@ static void setclientstate(Client *c, long state); static void setfocus(Client *c); static void setfullscreen(Client *c, Bool fullscreen); static void setlayout(const Arg *arg); +#ifndef M10K static void setmfact(const Arg *arg); +#endif /* ! M10K */ static void setup(void); static void showhide(Client *c); static void sigchld(int unused); @@ -266,7 +270,9 @@ static void tag(const Arg *arg); static void tagmon(const Arg *arg); static int textnw(const char *text, unsigned int len); static void tile(Monitor *); +#ifndef M10K static void togglebar(const Arg *arg); +#endif /* ! M10K */ static void togglefloating(const Arg *arg); static void toggletag(const Arg *arg); static void toggleview(const Arg *arg); @@ -1742,6 +1748,7 @@ setlayout(const Arg *arg) { drawbar(selmon); } +#ifndef M10K /* arg > 1.0 will set mfact absolutly */ void setmfact(const Arg *arg) { @@ -1755,6 +1762,7 @@ setmfact(const Arg *arg) { selmon->mfact = f; arrange(selmon); } +#endif /* ! M10K */ void setup(void) { @@ -1978,6 +1986,7 @@ static void bookstack(Monitor *m) return; } +#ifndef M10K void togglebar(const Arg *arg) { selmon->showbar = !selmon->showbar; @@ -1996,6 +2005,7 @@ togglebar(const Arg *arg) { } arrange(selmon); } +#endif /* ! M10K */ void togglefloating(const Arg *arg) { -- 2.47.3