]>
git.madduck.net Git - etc/awesome.git/blobdiff - alsa.md
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
-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:
Variable | Meaning | Type | Default
--- | --- | --- | ---
Variable | Meaning | Type | Default
--- | --- | --- | ---
+`timeout` | Refresh timeout seconds | int | 5
`channel` | Mixer channel | string | "Master"
`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"
+`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"
-and outputs the following table:
Variable | Meaning | Type
--- | --- | ---
`widget` | The widget | `wibox.widget.textbox`
Variable | Meaning | Type
--- | --- | ---
`widget` | The widget | `wibox.widget.textbox`
-`channel` | Alsa channel | string
-`step` | Increase/decrease step | string
-`notify` | Update `widget` | function
+`update` | Update `widget` | function
-Finally, y ou can control the widget with key bindings like these:
+Y ou can control the widget with key bindings like these:
-- Volume control
awful.key({ altkey }, "Up",
function ()
-- Volume control
awful.key({ altkey }, "Up",
function ()
- awful.util.spawn("amixer sset " .. volume.channel .. " " .. volume.step .. " +")
- volume.notify ()
+ awful.util.spawn("amixer set Master 1% +")
+ volumewidget.update ()
end),
awful.key({ altkey }, "Down",
function ()
end),
awful.key({ altkey }, "Down",
function ()
- awful.util.spawn("amixer sset " .. volume.channel .. " " .. volume.step .. " -")
- 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")
end),
awful.key({ altkey }, "m",
function ()
awful.util.spawn("amixer set Master playback toggle")
end),
awful.key({ altkey, "Control" }, "m",
function ()
awful.util.spawn("amixer set Master playback 100%", false )
end),
awful.key({ altkey, "Control" }, "m",
function ()
awful.util.spawn("amixer set Master playback 100%", false )
end),
where `altkey = "Mod1"`.
\ No newline at end of file
end),
where `altkey = "Mod1"`.
\ No newline at end of file