Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stefano-m/awesome-pulseaudio_widget
PulseAudio widgtet for the Awesome Window Manager that uses DBus
https://github.com/stefano-m/awesome-pulseaudio_widget
List: awesome-pulseaudio_widget
awesomewm dbus pulseaudio widget
Last synced: 4 months ago
JSON representation
PulseAudio widgtet for the Awesome Window Manager that uses DBus
- Host: GitHub
- URL: https://github.com/stefano-m/awesome-pulseaudio_widget
- Owner: stefano-m
- License: gpl-3.0
- Created: 2016-08-14T19:07:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-08-21T20:00:19.000Z (over 5 years ago)
- Last Synced: 2024-04-10T18:22:22.599Z (10 months ago)
- Topics: awesomewm, dbus, pulseaudio, widget
- Language: Lua
- Size: 37.1 KB
- Stars: 46
- Watchers: 5
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-awesomewm-modules-widgets-and-libraries - awesome-pulseaudio_widget
- awesome-awesomewm-modules-widgets-and-libraries - awesome-pulseaudio_widget
README
# 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](https://github.com/stefano-m/lua-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](https://awesomewm.org) *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
## Luarocks
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-wideThis will ensure that all its dependencies are installed.
Note that if you install with `--local` you will have to make sure that the
`LUA_PATH` environment variable includes the local luarocks path. This can be
achieved by `eval`ing the command `luarocks path --bin` **before** Awesome is
started.For example, if you start Awesome from the Linux console (e.g. `xinit
awesome`) and you use `zsh`, you can add the following lines to your
`~/.zprofile`:``` shell
if (( $+commands[luarocks] )); then
eval `luarocks path --bin`
fi
```If you use `bash`, you can add the following lines to your `~/.bash_profile`:
``` shell
if [[ -n "`which luarocks 2>/dev/null`" ]]; then
eval `luarocks path --bin`
fi
```If you use
an [X Display Manager](https://en.wikipedia.org/wiki/Display_manager) you will
need to do what explained above in your `~/.xprofile` or `~/.xinitrc`. See the
documentation of your display manager of choice for more information.## NixOS
If you are on NixOS, you can install this package from
[nix-stefano-m-overlays](https://github.com/stefano-m/nix-stefano-m-nix-overlays).# Configuration
The widget will display the audio icons defined in your GTK+ theme and it will
resize them to fit in the available space. This means that you can switch your
icon theme, for example using `lxappearance`, and update the widget by
restarting AwesomeWM.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 to
`pavucontrol`)# Usage
Add the following to your `~/.config/awesome/rc.lua`:
Require the module:
``` lua
-- require *after* `beautiful.init` or the theme will be inconsistent!
local pulse = require("pulseaudio_widget")-- Optionally, change the notification timeout default of 1 second to 5.
pulse.notification_timeout_seconds = 5
```Add the widget to your layout:
``` lua
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:
``` lua
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)
)
```# Contributing
This project is developed in the author's spare time. Contributions in the form
of issues, patches and pull requests are welcome.# Credits
This program was inspired by
the [Awesome Pulseaudio Widget (APW)](https://github.com/mokasin/apw).