X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/31825bb01cf100e848cc83c0bb8d8a92551a6caf..df4698902684aea1e5fbe6ea6552c0fa06a3191a:/alsabar.md?ds=inline diff --git a/alsabar.md b/alsabar.md index 9b5a711..fa5f209 100644 --- a/alsabar.md +++ b/alsabar.md @@ -1,14 +1,8 @@ [<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets) -Shows and controls alsa volume with a progressbar. +Shows and controls alsa volume with a progressbar; provides tooltips, notifications, and color changes at mute/unmute switch. -Dependencies: - -- 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. @@ -18,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 @@ -42,43 +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_focus` +`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