X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/3a79e2bd99a112bfb08483cf2d55dd7604f1e3da..e85974ae28dda46d1f1ad1d5985269ea50ce5e83:/alsabar.md

diff --git a/alsabar.md b/alsabar.md
index 52fa417..fa5f209 100644
--- a/alsabar.md
+++ b/alsabar.md
@@ -1,12 +1,8 @@
-Shows and controls alsa volume with a progressbar.
+[<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets)
 
-Dependencies:
+Shows and controls alsa volume with a progressbar; provides tooltips, notifications, and color changes at mute/unmute switch.
 
-- alsa-utils (of course)
-
-Plus tooltips, notifications, and color changes at mute/unmute switch.
-
-	myvolumebar = lain.widgets.alsabar()
+	volume = lain.widgets.alsabar()
 
 * Left click: Launch `alsamixer` in your `terminal`.
 * Right click: Mute/unmute.
@@ -16,6 +12,8 @@ The function takes a table as optional argument, which can contain:
 
 Variable | Meaning | Type | Default
 --- | --- | --- | ---
+`timeout` | Refresh timeout seconds | int | 4
+`settings` | User settings | function | empty function
 `width` | Bar width | int | 63
 `height` | Bar height | int | 1
 `ticks` | Set bar ticks on | boolean | true
@@ -40,42 +38,48 @@ Variable | Meaning | Type | Default
 --- | --- | --- | ---
 `font` | Notifications font | string | The one defined in `beautiful.font`
 `font_size` | Notifications font size | string | "11"
+`color` | Notifications color | string | `beautiful.fg_normal`
 `bar_size` | Wibox height | int | 18
 
-It's **crucial** to set `notifications.bar_size` to your `mywibox[s]` height,
-**if** you have set it different than default (18). 
+It's **crucial** to set `notifications.bar_size` to your `mywibox[s]` height.
 
-`lain.widgets.alsabar` outputs the following table:
+`settings` can use the following variables:
+
+Variable | Meaning | Type | Values
+--- | --- | --- | ---
+`volume_now.level` | Self explained | int | 0-100
+`volume_now.status` | Device status | string | "on", "off"
+### output table
 
 Variable | Meaning | Type
 --- | --- | ---
-`widget` | The widget | `awful.widget.progressbar`
+`bar` | The widget | `awful.widget.progressbar`
 `channel` | Alsa channel | string
 `step` | Increase/decrease step | string
 `notify` | The notification | function
 
-Finally, you can control the widget with key bindings like these:
+You can control the widget with key bindings like these:
 
-    -- Volume control
+    -- ALSA volume control
     awful.key({ altkey }, "Up",
-    function ()
-        awful.util.spawn("amixer sset " .. volume.channel .. " " .. volume.step .. "+")
-        volume.notify()
-    end),
+        function ()
+            awful.util.spawn("amixer -q set " .. volume.channel .. " " .. volume.step .. "+")
+            volume.notify()
+        end),
     awful.key({ altkey }, "Down",
-    function ()
-        awful.util.spawn("amixer sset " .. volume.channel .. " " .. volume.step .. "-")
-        volume.notify()
-    end),
+        function ()
+            awful.util.spawn("amixer -q set " .. volume.channel .. " " .. volume.step .. "-")
+            volume.notify()
+        end),
     awful.key({ altkey }, "m",
-    function ()
-        awful.util.spawn("amixer set Master playback toggle")
-        volume.notify()
-    end),
-    awful.key({ altkey, "Control" }, "m", 
-    function ()
-        awful.util.spawn("amixer set Master playback 100%", false )
-        volume.notify()
-     end),
+        function ()
+            awful.util.spawn("amixer -q set " .. volume.channel .. " playback toggle")
+            volume.notify()
+        end),
+    awful.key({ altkey, "Control" }, "m",
+        function ()
+            awful.util.spawn("amixer -q set " .. volume.channel .. " playback 100%")
+            volume.notify()
+        end),
 
 where `altkey = "Mod1"`.
\ No newline at end of file