Use Brightness and Volume Keys in Dwm

Use Brightness and Volume Keys in Dwm

Requires pulseaudio pavucontrol alsa-lib alsa-utils acpilight

Actual requirements may vary depending on your configuration. I am only writing what worked for me.

Edit config.h

#include <X11/XF86keysym.h>

/* volume keys*/
static const char *upvol[] = { "/usr/bin/pactl", "set-sink-volume", "0", "+5%", NULL };
static const char *downvol[] = { "/usr/bin/pactl", "set-sink-volume", "0", "-5%", NULL };
static const char *mutevol[] = { "/usr/bin/pactl", "set-sink-mute", "0", "toggle", NULL };

/* backlight */
static const char *brightnessup[] = { "sudo", "xbacklight", "-inc"m "5", NULL };
static const char *brightnessdown[] = { "sudo", "xbacklight", "-dec", "5", NULL };

Append the following lines in static Key keys[] array

static Key keys[] = {
    { 0, XF86XK_AudioLowerVolume, spawn, {.v = downvol} },
    { 0, XF86XK_AudioMute, spawn, {.v = mutevol }},
    { 0, XF86XK_AudioRaiseVolume, spawn, {.v = upvol} },
    { 0, XF86XK_MonBrightnessUp, spawn, {.v = brightnessup} },
    { 0, XF86XK_MonBrightnessDown, spawn, {.v = brightnessdown} },
};