X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/ab333a27fe771e9ce70ed6896a6b3e2cfd9c3074..6e6914aa5b1b9e5de69f0769a64b83202122a7d0:/alsa.md?ds=sidebyside diff --git a/alsa.md b/alsa.md index 5a3497b..daf4016 100644 --- a/alsa.md +++ b/alsa.md @@ -1,52 +1,53 @@ -Shows and controls alsa volume with a textbox. +[<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets) - myvolume = lain.widgets.alsa() +Shows and controls alsa volume with a textbox. -* Left click: Launch `alsamixer` in your `terminal`. -* Right click: Mute/unmute. -* Scroll wheel: Increase/decrase volume. + volumewidget = lain.widgets.alsa() -The function takes a table as optional argument, which can contain: +### input table Variable | Meaning | Type | Default --- | --- | --- | --- +`timeout` | Refresh timeout seconds | int | 5 `channel` | Mixer channel | string | "Master" -`step` | Step at which volume is increased/decreased | string | "1%" -`header` | Text to show before value | string | " Vol " -`header_color` | Header color | string | `beautiful.fg_normal` or "#FFFFFF" -`color` | Value color | string | `beautiful.fg_focus` or "#FFFFFF" - -and outputs the following table: - -Variable | Type ---- | --- -`widget` | `awful.widget.textbox` -`channel` | string -`step` | string -`notify` | function - -Finally, you can control the widget with key bindings like these: - - -- Volume control - awful.key({ altkey }, "Up", - function () - awful.util.spawn("amixer sset " .. volume.channel .. " " .. volume.step .. "+") - volume.notify() - end), - awful.key({ altkey }, "Down", - function () - awful.util.spawn("amixer sset " .. 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), +`settings` | User settings | function | empty function + +`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 | `wibox.widget.textbox` +`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 set Master 1%+") + volumewidget.update() + end), + awful.key({ altkey }, "Down", + function () + awful.util.spawn("amixer set Master 1%-") + volumewidget.update() + end), + awful.key({ altkey }, "m", + function () + awful.util.spawn("amixer set Master playback toggle") + volumewidget.update() + end), + awful.key({ altkey, "Control" }, "m", + function () + awful.util.spawn("amixer set Master playback 100%", false ) + volumewidget.update() + end), where `altkey = "Mod1"`. \ No newline at end of file