all repos — slstatus @ 393b09644a253da1250305caade50d9c726de27d

my build of slstatus (tools.suckless.org/slstatus/)

vol_perc: Return "mute" when mixer is muted

This feature was originally removed as part of 52d19f9.
Jody Leonard me@jodyleonard.com
Thu, 13 Oct 2016 03:20:36 -0400
commit

393b09644a253da1250305caade50d9c726de27d

parent

97c745e10e3f0710db4b2c84340171f915f2f6c6

1 files changed, 5 insertions(+), 1 deletions(-)

jump to
M slstatus.cslstatus.c

@@ -472,6 +472,7 @@

static char * vol_perc(const char *card) { + int mute; long int vol, max, min; snd_mixer_t *handle; snd_mixer_elem_t *elem;

@@ -495,11 +496,14 @@

snd_mixer_handle_events(handle); snd_mixer_selem_get_playback_volume_range(elem, &min, &max); snd_mixer_selem_get_playback_volume(elem, 0, &vol); + snd_mixer_selem_get_playback_switch(elem, 0, &mute); snd_mixer_selem_id_free(s_elem); snd_mixer_close(handle); - if (max == 0) + if (!mute) + return smprintf("mute"); + else if (max == 0) return smprintf("0%%"); else return smprintf("%lu%%", ((uint_fast16_t)(vol * 100) / max));