Shows and controls alsa volume with a textbox.
- myvolume = lain.widgets.alsa()
+ volume = lain.widgets.alsa()
### input table
`channel` | Mixer channel | string | "Master"
`settings` | User settings | function | empty function
-`settings` can be fed with the following variables:
+`settings` can use the following variables:
Variable | Meaning | Type | Values
--- | --- | --- | ---
-volume.level | Self explained | int | 0-100
-volume.status | Device status | string | "on", "off"
+volume_now.level | Self explained | int | 0-100
+volume_now.status | Device status | string | "on", "off"
### output table
Variable | Meaning | Type
--- | --- | ---
`widget` | The widget | `wibox.widget.textbox`
-`notify` | Force update `widget` | function
+`update` | Update `widget` | function
You can control the widget with key bindings like these:
-- Volume control
awful.key({ altkey }, "Up",
function ()
- awful.util.spawn("amixer sset Master 1%+")
- volume.notify()
+ awful.util.spawn("amixer set Master 1%+")
+ volumewidget.update()
end),
awful.key({ altkey }, "Down",
function ()
- awful.util.spawn("amixer sset Master 1%-")
- volume.notify()
+ awful.util.spawn("amixer set Master 1%-")
+ volumewidget.update()
end),
awful.key({ altkey }, "m",
function ()
awful.util.spawn("amixer set Master playback toggle")
- volume.notify()
+ volumewidget.update()
end),
awful.key({ altkey, "Control" }, "m",
function ()
awful.util.spawn("amixer set Master playback 100%", false )
- volume.notify()
+ volumewidget.update()
end),
where `altkey = "Mod1"`.
\ No newline at end of file