Skip to content

Instantly share code, notes, and snippets.

@neuro-sys
Last active September 27, 2023 18:20
Show Gist options
  • Save neuro-sys/2570361 to your computer and use it in GitHub Desktop.
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 } },
};
@jimcadden
Copy link

thanks for sharing

@daninjah
Copy link

this is nice

@elbaulp
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};

@neuro-sys
Copy link
Author

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

Also thanks algui91, I've added yours.

@peko
Copy link

peko commented Aug 12, 2015

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

@Sukonnik-Illia
Copy link

Great thanks.

Copy link

ghost commented Feb 18, 2018

@jcrcx
Copy link

jcrcx commented May 15, 2018

Thanks brooo !!!! Nice work!

@ratfactor
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!

@elycastellano
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

@neuro-sys
Copy link
Author

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

@BakedSnake
Copy link

Sick!

@agung-satria
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,

@kurth4cker
Copy link

Great

@gssasank
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

ghost commented Jan 24, 2022

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