add vol_perc notes, add braces to singleline statements
authorparazyd <parazyd@dyne.org>
Fri, 30 Dec 2016 11:16:07 +0000 (12:16 +0100)
committerparazyd <parazyd@dyne.org>
Fri, 30 Dec 2016 11:16:07 +0000 (12:16 +0100)
README.md
config.def.h
slstatus.c

index 27a4a10a6235ebb462a4705a6268b07f2d93930e..93b7b12a06bf561916a16b912ec5d9d26af39546 100644 (file)
--- a/README.md
+++ b/README.md
@@ -50,6 +50,16 @@ If you use any other status bar or window manager you will have to figure it out
 
        slstatus -o | other_status_bar &
 
+### Specific function quirks
+
+- Volume percentage
+
+If there is no `/dev/mixer` on your system and you use ALSA, it means you have to load the OSS compatibility module by issuing:
+
+```
+# modprobe snd-pcm-oss
+```
+
 ## Contributing
 
 Hunt FIXME's in the code or do WTF you want! If it is useful, I will merge.
index 4ce595896323a383d8d4074e67897cf146291050..caddd7f872d308648052f40e4413af3e785a7f10 100644 (file)
@@ -34,7 +34,7 @@
 - uid (uid of current user) [argument: NULL]
 - uptime (uptime) [argument: NULL]
 - username (username of current user) [argument: NULL]
-- vol_perc (oss/alsa volume and mute status in percent) [argument: /dev/mixer]
+- vol_perc (oss/alsa volume status (see README)) [argument: /dev/mixer]
 - wifi_perc (wifi signal in percent) [argument: wifi card interface name]
 - wifi_essid (wifi essid) [argument: wifi card interface name] */
 static const struct arg args[] = {
index d580ac0a689cf736523104b12e9154caf31e81a6..ff81e0cc5ddb8f86505ffa12f6ade7c838aeb6ac 100644 (file)
@@ -628,14 +628,18 @@ vol_perc(const char *card)
        }
 
        ioctl(afd, MIXER_READ(SOUND_MIXER_DEVMASK), &devmask);
-       for (i = 0; i < (sizeof(vnames) / sizeof((vnames[0]))); i++)
-               if (devmask & (1 << i))
-                       if (!strcmp("vol", vnames[i]))
+       for (i = 0; i < (sizeof(vnames) / sizeof((vnames[0]))); i++) {
+               if (devmask & (1 << i)) {
+                       if (!strcmp("vol", vnames[i])) {
                                ioctl(afd, MIXER_READ(i), &v);
+                       }
+               }
+       }
 
        close(afd);
-       if (v == 0)
+       if (v == 0) {
                return smprintf("mute");
+       }
        return smprintf("%d%%", v & 0xff);
 }