vol_perc: Return "mute" when mixer is muted - slstatus - suckless status monitor. mirror from suckless.org
 (HTM) git clone git://git.drkhsh.at/slstatus.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 393b09644a253da1250305caade50d9c726de27d
 (DIR) parent 97c745e10e3f0710db4b2c84340171f915f2f6c6
 (HTM) Author: Jody Leonard <me@jodyleonard.com>
       Date:   Thu, 13 Oct 2016 03:20:36 -0400
       
       vol_perc: Return "mute" when mixer is muted
       
       This feature was originally removed as part of 52d19f9.
       
       Diffstat:
         M slstatus.c                          |       6 +++++-
       
       1 file changed, 5 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/slstatus.c b/slstatus.c
       @@ -472,6 +472,7 @@ uid(void)
        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 @@ vol_perc(const char *card)
                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));