3410f9ac7a
It turns out that Awesome can automatically deal with GLib's main loop and we don't need an external process to listen to pulseaudio's DBus. This greatly simplifies the code since we: - can merge the widget and widget_client files - don't need to do all the string parsing but can modify the widget directly Credit to https://github.com/psychon for raising the issue and providing sample code. Closes #1 (https://github.com/stefano-m/awesome-pulseaudio_widget/issues/1) |
||
---|---|---|
.gitignore | ||
LICENSE | ||
README.md | ||
pulseaudio_widget-0.1.1-1.rockspec | ||
pulseaudio_widget-0.2.0-1.rockspec | ||
pulseaudio_widget-0.2.1-1.rockspec | ||
pulseaudio_widget-0.3.0-1.rockspec | ||
pulseaudio_widget-0.3.1-1.rockspec | ||
pulseaudio_widget-devel-1.rockspec | ||
pulseaudio_widget.lua |
README.md
A widget for the Awesome Window Manager 4.x to control the volume
A widget for the Awesome Window Manager (version 4.x) that uses pulseaudio_dbus to control your audio devices.
Requirements
In addition to the requirements listed in the rockspec
file, you will need
the Awesome Window Manager version 4.x and
PulseAudio with DBus enabled.
To enable DBus in PulseAudio, ensure that the line
load-module module-dbus-protocol
is present in /etc/pulse/default.pa
or ~/.config/pulse/default.pa
Installation
The easiest way to install this widget is to use luarocks
:
luarocks install pulseaudio_widget
You can use the --local
option if you don't want or can't install
it system-wide
This will ensure that all its dependencies are installed.
Configuration
The widget displays volume icons that are searched in the folder defined by
beautiful.pulse_icon_theme
with extension beautiful.pulse_icon_extension
.
The default is to look into "/usr/share/icons/Adwaita/scalable/status"
for
icons whose extension is ".svg"
.
Specifically, you will need icons named:
audio-volume-high-symbolic
audio-volume-medium-symbolic
audio-volume-low-symbolic
audio-volume-muted-symbolic
Mouse controls
When the widget is focused:
- Scroll: controls the volume
- Left button: toggles mute
- Right button: launches mixer (
mixer
field of the widget table, defaults topavucontrol
)
Usage
Add the following to your ~/.config/awesome/rc.lua
:
Require the module:
-- require *after* `beautiful.init` or the theme will be inconsistent!
local pulse = require("pulseaudio_widget")
Add the widget to your layout:
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets },
s.mytasklist, -- Middle widget
{ -- Right widgets
pulse
}
}
Finally add some keyboard shortcuts to control the volume:
awful.util.table.join(
-- Audio
awful.key({ }, "XF86AudioRaiseVolume", pulse.volume_up),
awful.key({ }, "XF86AudioLowerVolume", pulse.volume_down),
awful.key({ }, "XF86AudioMute", pulse.toggle_muted),
-- Microphone
awful.key({"Shift"}, "XF86AudioRaiseVolume", pulse.volume_up_mic),
awful.key({"Shift"}, "XF86AudioLowerVolume", pulse.volume_down_mic),
awful.key({ }, "XF86MicMute", pulse.toggle_muted_mic),
)
Credits
This program was inspired by the Awesome Pulseaudio Widget (APW).