]> git.corax.cc Git - dwm/commitdiff
Configuration improvement
authorMatthias Kruk <m@m10k.eu>
Sat, 21 Mar 2020 05:54:29 +0000 (14:54 +0900)
committerMatthias Kruk <m@m10k.eu>
Sat, 21 Mar 2020 05:54:29 +0000 (14:54 +0900)
 - Make shortcuts more intuitive
 - Recover the good old X11-zap with the quit shortcut

Exclude unused functions from compilation

config.def.h
dwm.c

index 1f411373a737cb92b6a4d1a973f1cdf2d660eb41..2e77d59ad920e026d22595b5ff80e0675c524a4c 100755 (executable)
@@ -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 9f9ee2a94a1c05e149550b3993b781c57397fa7d..30d77013e3b9f35109f91b6b61fb6063b62a7205 100755 (executable)
--- a/dwm.c
+++ b/dwm.c
@@ -20,6 +20,8 @@
  *
  * To understand everything else, start reading main().
  */
+#define M10K 1
+
 #include <errno.h>
 #include <locale.h>
 #include <stdarg.h>
@@ -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) {