Skip to content

Instantly share code, notes, and snippets.

Last active September 27, 2023 18:20
  • Star 22 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save neuro-sys/2570361 to your computer and use it in GitHub Desktop.
dwm volume control
* config.h
* ALT + F11 | F12
static const char *upvol[] = { "amixer", "set", "Master", "3+", NULL };
static const char *downvol[] = { "amixer", "set", "Master", "3-", NULL };
static const char *mutevol[] = { "amixer", "set", "Master", "toggle", NULL };
static Key keys[] = {
{ MODKEY, XK_F12, spawn, {.v = upvol } },
{ MODKEY, XK_F11, spawn, {.v = downvol } },
{ MODKEY, XK_F9, spawn, {.v = mutevol } },
Copy link

thanks for sharing

Copy link

this is nice

Copy link

elbaulp commented Jan 2, 2015

Just what I was looking for. Thank you! I've also added an option to mute/unmute:

static const char *mutevol[] = { "amixer", "set", "Master", "toggle", NULL};

Copy link

Haha, I didn't realize people would check github gists.

Also thanks algui91, I've added yours.

Copy link

peko commented Aug 12, 2015

Спасибо братан!

Copy link

Great thanks.

Copy link

ghost commented Feb 18, 2018

Copy link

jcrcx commented May 15, 2018

Thanks brooo !!!! Nice work!

Copy link

This is exactly what I was looking for. On my system, the numeric range for the Master volume is large:

Limits: Capture 0 - 65536

So I needed to explicitly user percentages instead:

static const char *upvol[]   = { "amixer", "set", "Master", "10%+",     NULL };
static const char *downvol[] = { "amixer", "set", "Master", "10%-",     NULL };

(And with 10% increments, it's really speedy to adjust.)

Thanks for this!

Copy link

Thanks for share!

Copy link

ghost commented Jul 6, 2020

Thanks a lot for this!

A totally seperate issue,
my keys from F1 to F12 don't work in dwm, work in every other window manager/desktop environment

Copy link

I find it very surprising when people find seemingly simple things very useful. I'm happy that it's useful for others.

Copy link


Copy link

agung-satria commented Jul 3, 2021

what if i login as non root user, the upvol and downvol didn't work for me
if i try sudo amixer set Master 3+ null, on terminal it worked,

Copy link


Copy link

gssasank commented Jan 1, 2022

If anyone's wondering why the vol up and down aren't working for them, just use sudo amixer in place of amixer

Copy link

for people that use pamixer instead of amixer

 static const char *upvol[]   = { "pamixer", "--increase", "3", NULL };
 static const char *downvol[] = { "pamixer", "--decrease", "3", NULL };
 static const char *mutevol[] = { "pamixer", "-t",              NULL };

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment