summaryrefslogtreecommitdiff
path: root/volume-widget
diff options
context:
space:
mode:
authorstreetturtle <streetturtle@users.noreply.github.com>2019-09-01 21:40:18 -0400
committerGitHub <noreply@github.com>2019-09-01 21:40:18 -0400
commit1a268b9a90bd2ceb2138d1361efaca2e04e92933 (patch)
tree0953daa28b45062f16fd3095e5fc38eced6650b2 /volume-widget
parent372ae3c9e7cab4b64b8dcaf31d9d2d921a723585 (diff)
parent05e9a909bd29bc7e9a50ba6e5ff6fdecd4503f2a (diff)
Merge pull request #92 from blix4/alsa_only_support
volume widget support for amixer with no device specified
Diffstat (limited to 'volume-widget')
-rw-r--r--volume-widget/README.md25
-rw-r--r--volume-widget/volume.lua20
2 files changed, 40 insertions, 5 deletions
diff --git a/volume-widget/README.md b/volume-widget/README.md
index 118abc6..494be24 100644
--- a/volume-widget/README.md
+++ b/volume-widget/README.md
@@ -31,6 +31,31 @@ s.mytasklist, -- Middle widget
sudo sed -i 's/bebebe/ed4737/g' ./audio-volume-muted-symbolic_red.svg
```
+### Pulse or ALSA only
+
+Try running this command:
+
+```amixer -D pulse sget Master```
+
+If that prints something like this, then the default setting of 'pulse' is probably fine:
+```
+Simple mixer control 'Master',0
+ Capabilities: pvolume pvolume-joined pswitch pswitch-joined
+ Playback channels: Mono
+ Limits: Playback 0 - 64
+ Mono: Playback 64 [100%] [0.00dB] [on]
+
+```
+
+If it prints something like this:
+```
+$ amixer -D pulse sget Master
+ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
+
+amixer: Mixer attach pulse error: Connection refused
+```
+then try setting the environment variable `AWW_VOLUME_CONTROLLER` to `alsa_only`.
+
## Control volume
To mute/unmute click on the widget. To increase/decrease volume scroll up or down when mouse cursor is over the widget.
diff --git a/volume-widget/volume.lua b/volume-widget/volume.lua
index 8124bcf..fe7ff2c 100644
--- a/volume-widget/volume.lua
+++ b/volume-widget/volume.lua
@@ -13,12 +13,22 @@ local wibox = require("wibox")
local watch = require("awful.widget.watch")
local spawn = require("awful.spawn")
+local secrets = require("awesome-wm-widgets.secrets")
+
local path_to_icons = "/usr/share/icons/Arc/status/symbolic/"
-local GET_VOLUME_CMD = 'amixer -D pulse sget Master'
-local INC_VOLUME_CMD = 'amixer -D pulse sset Master 5%+'
-local DEC_VOLUME_CMD = 'amixer -D pulse sset Master 5%-'
-local TOG_VOLUME_CMD = 'amixer -D pulse sset Master toggle'
+local device_arg
+if secrets.volume_audio_controller == 'pulse' then
+ device_arg = '-D pulse'
+else
+ device_arg = ''
+end
+
+local GET_VOLUME_CMD = 'amixer ' .. device_arg .. ' sget Master'
+local INC_VOLUME_CMD = 'amixer ' .. device_arg .. ' sset Master 5%+'
+local DEC_VOLUME_CMD = 'amixer ' .. device_arg .. ' sset Master 5%-'
+local TOG_VOLUME_CMD = 'amixer ' .. device_arg .. ' sset Master toggle'
+
local volume_widget = wibox.widget {
{
@@ -64,4 +74,4 @@ end)
watch(GET_VOLUME_CMD, 1, update_graphic, volume_widget)
-return volume_widget \ No newline at end of file
+return volume_widget