Actualizacion maquina principal
[dotfiles/.git] / .config / awesome / lain / wiki / alsabar.md
diff --git a/.config/awesome/lain/wiki/alsabar.md b/.config/awesome/lain/wiki/alsabar.md
new file mode 100644 (file)
index 0000000..a986d8f
--- /dev/null
@@ -0,0 +1,108 @@
+## Usage
+
+[Read here.](https://github.com/lcpz/lain/wiki/Widgets#usage)
+
+### Description
+
+Shows ALSA volume with a progressbar; provides tooltips and notifications.
+
+```lua
+local volume = lain.widget.alsabar()
+```
+
+## Input table
+
+Variable | Meaning | Type | Default
+--- | --- | --- | ---
+`timeout` | Refresh timeout (in seconds) | integer | 5
+`settings` | User settings | function | empty function
+`width` | Bar width | number | 63
+`height` | Bar height | number | 1
+`margins` | Bar margins | number | 1
+`paddings` | Bar paddings | number | 1
+`ticks` | Set bar ticks on | boolean | false
+`ticks_size` | Ticks size | integer | 7
+`tick` | String for a notification tick | string | "|"
+`tick_pre` | String for the left notification delimeter | string | "["
+`tick_post` | String for the right notification delimeter | string | "]"
+`tick_none` | String for an empty notification tick | string | " "
+`cmd` | ALSA mixer command | string | "amixer"
+`channel` | Mixer channel | string | "Master"
+`togglechannel` | Toggle channel | string | `nil`
+`tick` | The character usef for ticks in the notification | string | "|"
+`colors` | Bar colors | table | see [Default colors](https://github.com/lcpz/lain/wiki/alsabar#default-colors)
+`notification_preset` | Notification preset | table | See [default `notification_preset`](https://github.com/lcpz/lain/wiki/alsabar#default-notification_preset)
+`followtag` | Display the notification on currently focused screen | boolean | false
+
+`cmd` is useful if you need to pass additional arguments to  `amixer`. For instance, you may want to define `cmd = "amixer -c X"` in order to set amixer with card `X`.
+
+In case mute toggling can't be mapped to master channel (this happens, for instance, when you are using an HDMI output), define `togglechannel` as your S/PDIF device. Read [`alsa`](https://github.com/lcpz/lain/wiki/alsa#toggle-channel) page to know how.
+
+To set the maximum number of ticks to display in the notification, define `max_ticks` (integer) in `notification_preset`.
+
+`settings` can use the following variables:
+
+Variable | Meaning | Type | Values
+--- | --- | --- | ---
+`volume_now.level` | Volume level | integer | 0-100
+`volume_now.status` | Device status | string | "on", "off"
+
+With multiple screens, the default behaviour is to show a visual notification pop-up window on the first screen. By setting `followtag` to `true` it will be shown on the currently focused tag screen.
+
+### Default colors
+
+Variable | Meaning | Type | Default
+--- | --- | --- | ---
+`background` | Bar backgrund color | string | "#000000"
+`mute` | Bar mute color | string | "#EB8F8F"
+`unmute` | Bar unmute color | string | "#A4CE8A"
+
+### Default `notification_preset`
+
+```lua
+notification_preset = {
+    font = "Monospace 10"
+}
+```
+
+## Output table
+
+Variable | Meaning | Type
+--- | --- | ---
+`bar` | The widget | `wibox.widget.progressbar`
+`channel` | ALSA channel | string
+`notify` | The notification | function
+`update` | Update `bar` | function
+`tooltip` | The tooltip | `awful.tooltip`
+
+## Buttons
+
+If you want buttons, just add the following after your widget in `rc.lua`.
+
+```lua
+volume.bar:buttons(awful.util.table.join(
+    awful.button({}, 1, function() -- left click
+        awful.spawn(string.format("%s -e alsamixer", terminal))
+    end),
+    awful.button({}, 2, function() -- middle click
+        os.execute(string.format("%s set %s 100%%", volume.cmd, volume.channel))
+        volume.update()
+    end),
+    awful.button({}, 3, function() -- right click
+        os.execute(string.format("%s set %s toggle", volume.cmd, volume.togglechannel or volume.channel))
+        volume.update()
+    end),
+    awful.button({}, 4, function() -- scroll up
+        os.execute(string.format("%s set %s 1%%+", volume.cmd, volume.channel))
+        volume.update()
+    end),
+    awful.button({}, 5, function() -- scroll down
+        os.execute(string.format("%s set %s 1%%-", volume.cmd, volume.channel))
+        volume.update()
+    end)
+))
+```
+
+## Keybindings
+
+Read [here](https://github.com/lcpz/lain/wiki/alsa#keybindings). If you want notifications, use `volume.notify()` instead of `volume.update()`.