mirror of https://github.com/lcpz/lain.git
Created alsabar (markdown)
This commit is contained in:
parent
ceb0fa244c
commit
72c66149c4
|
@ -0,0 +1,81 @@
|
||||||
|
Shows and controls alsa volume with a progressbar.
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
|
||||||
|
- alsa-utils
|
||||||
|
|
||||||
|
Plus tooltips, notifications, and color changes at mute/unmute switch.
|
||||||
|
|
||||||
|
myvolumebar = lain.widgets.alsabar()
|
||||||
|
|
||||||
|
* Left click: Launch `alsamixer` in your `terminal`.
|
||||||
|
* Right click: Mute/unmute.
|
||||||
|
* Scroll wheel: Increase/decrase volume.
|
||||||
|
|
||||||
|
The function takes a table as optional argument, which can contain:
|
||||||
|
|
||||||
|
Variable | Meaning | Type | Default
|
||||||
|
--- | --- | --- | ---
|
||||||
|
`width` | Bar width | int | 63
|
||||||
|
`height` | Bar height | int | 1
|
||||||
|
`ticks` | Set bar ticks on | boolean | true
|
||||||
|
`ticks_size` | Ticks size | int | 7
|
||||||
|
`vertical` | Set the bar vertical | boolean | false
|
||||||
|
`channel` | Mixer channel | string | "Master"
|
||||||
|
`step` | Step at which volume is increased/decreased | string | "5%"
|
||||||
|
`colors` | Bar colors | table | see **colors**
|
||||||
|
`notifications` | Notifications settings | table | see **notifications**
|
||||||
|
|
||||||
|
### colors
|
||||||
|
|
||||||
|
Variable | Meaning | Type | Default
|
||||||
|
--- | --- | --- | ---
|
||||||
|
`background` | Bar backgrund color | string | `beautiful.bg_normal`
|
||||||
|
`mute` | Bar mute color | string | "#EB8F8F"
|
||||||
|
`unmute` | Bar unmute color | string | "#A4CE8A"
|
||||||
|
|
||||||
|
### notifications
|
||||||
|
|
||||||
|
Variable | Meaning | Type | Default
|
||||||
|
--- | --- | --- | ---
|
||||||
|
`font` | Notifications font | string | The one defined in `beautiful.font`
|
||||||
|
`font_size` | Notifications font size | string | "11"
|
||||||
|
`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).
|
||||||
|
|
||||||
|
`lain.widgets.alsabar` outputs the following table:
|
||||||
|
|
||||||
|
Variable | Type
|
||||||
|
--- | ---
|
||||||
|
`widget` | `awful.widget.progressbar`
|
||||||
|
`channel` | string
|
||||||
|
`step` | string
|
||||||
|
`notify` | function
|
||||||
|
|
||||||
|
Finally, you can control the widget with the following key bindings:
|
||||||
|
|
||||||
|
-- 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),
|
||||||
|
|
||||||
|
where `altkey = "Mod1"`.
|
Loading…
Reference in New Issue