tmix: Add indication for muted master - spoon - dwm status utility (2f30 fork)
(HTM) git clone git://src.adamsgaard.dk/spoon
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 74618e7b6e043eb00f575555fa996ccfd081e6f0
(DIR) parent a4bf7bc838fe7c71237f8de392148f8fe6328d39
(HTM) Author: Lazaros Koromilas <lostd@2f30.org>
Date: Thu, 15 Mar 2018 13:52:04 +0200
mix: Add indication for muted master
Diffstat:
M mix.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/mix.c b/mix.c
t@@ -69,6 +69,7 @@ out:
#elif __linux__ && !USE_TINYALSA
#include <alsa/asoundlib.h>
+static int active;
static int master;
int
t@@ -77,6 +78,13 @@ mixer_elem_cb(snd_mixer_elem_t *elem, unsigned int mask)
long min, max, vol;
int r;
+ r = snd_mixer_selem_get_playback_switch(elem, SND_MIXER_SCHN_FRONT_LEFT, &active);
+ if (r < 0) {
+ warnx("snd_mixer_selem_get_playback_switch: %s",
+ snd_strerror(r));
+ return -1;
+ }
+ DPRINTF_D(active);
r = snd_mixer_selem_get_playback_volume_range(elem, &min, &max);
if (r < 0) {
warnx("snd_mixer_selem_get_playback_volume_range: %s",
t@@ -158,7 +166,10 @@ readvol:
warnx("snd_mixer_handle_events: %s", snd_strerror(r));
goto out;
}
- snprintf(buf, len, "%d%%", master);
+ if (active)
+ snprintf(buf, len, "%d%%", master);
+ else
+ snprintf(buf, len, "!%d%%", master);
return 0;
out:
snd_mixer_free(mixerp);