uses macro to set media key commands
authorDaniel <thefekete@gmail.com>
Sun, 30 Dec 2018 01:25:46 +0000 (02:25 +0100)
committerDaniel <thefekete@gmail.com>
Sun, 30 Dec 2018 01:25:46 +0000 (02:25 +0100)
config.h

index b3c1ef7..71d5dde 100644 (file)
--- a/config.h
+++ b/config.h
@@ -57,6 +57,7 @@ static const Layout layouts[] = {
        { MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \
        { MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \
        { MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },
+#define MEDIAKEY(KEY,CMD) {0, KEY, spawn, {.v = (const char *[]){ "sh", "-c", CMD, NULL } } }  /* TODO don't fire up unnecessary shells */
 
 /* helper for spawning shell commands in the pre dwm-5.0 fashion */
 #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
@@ -105,14 +106,14 @@ static Key keys[] = {
 
        { MODKEY|ShiftMask,             XK_h,      spawn,          {.v = helpcmd } },
 
-       /* XF86 Media Keys */
-       { 0,  XF86XK_MonBrightnessUp,    spawn,  {.v = (const char *[]){ "xbacklight", "-inc", "10", NULL } } },
-       { 0,  XF86XK_MonBrightnessDown,  spawn,  {.v = (const char *[]){ "xbacklight", "-dec", "10", NULL } } },
-       { 0,  XF86XK_AudioMute,          spawn,  {.v = (const char *[]){ "sh", "-c", "pactl set-sink-mute @DEFAULT_SINK@ toggle", NULL } } },
-       { 0,  XF86XK_AudioLowerVolume,   spawn,  {.v = (const char *[]){ "sh", "-c", "pactl set-sink-volume @DEFAULT_SINK@ -10%", NULL } } },
-       { 0,  XF86XK_AudioRaiseVolume,   spawn,  {.v = (const char *[]){ "sh", "-c", "pactl set-sink-volume @DEFAULT_SINK@ +5%", NULL } } },
-       { 0,  XF86XK_AudioMicMute,       spawn,  {.v = (const char *[]){ "sh", "-c", "pactl set-source-mute @DEFAULT_SOURCE@ toggle", NULL } } },
-       { 0,  XF86XK_WebCam,             spawn,  {.v = (const char *[]){ "sh", "-c", "mpv --untimed /dev/video0", NULL } } },
+       /* XF86 Keys */
+       MEDIAKEY( XF86XK_MonBrightnessUp,   "xbacklight -inc 10"),
+       MEDIAKEY( XF86XK_MonBrightnessDown, "xbacklight -dec 10"),
+       MEDIAKEY( XF86XK_AudioMute,         "pactl set-sink-mute @DEFAULT_SINK@ toggle"),
+       MEDIAKEY( XF86XK_AudioLowerVolume,  "pactl set-sink-volume @DEFAULT_SINK@ -10%"),
+       MEDIAKEY( XF86XK_AudioRaiseVolume,  "pactl set-sink-volume @DEFAULT_SINK@ +5%"),
+       MEDIAKEY( XF86XK_AudioMicMute,      "pactl set-source-mute @DEFAULT_SOURCE@ toggle"),
+       MEDIAKEY( XF86XK_WebCam,            "mpv --untimed /dev/video0"),
 
 };