aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustine Smithies <justine@smithies.me.uk>2024-11-09 16:26:05 +0000
committerJustine Smithies <justine@smithies.me.uk>2024-11-09 16:26:05 +0000
commit75131895c412fe019489b84083bb0dabc312eed7 (patch)
treea70f72a865665e5c1849586831419e2965fd6dfe
parenta436a3bf5e740a320f9c15f53a26ce21177d0ee7 (diff)
Switched from using pactl to the FreeBSD mixer in my volume control script.
-rwxr-xr-x.config/eww/scripts/volumecontrol30
1 files changed, 14 insertions, 16 deletions
diff --git a/.config/eww/scripts/volumecontrol b/.config/eww/scripts/volumecontrol
index 7f058c9..2168429 100755
--- a/.config/eww/scripts/volumecontrol
+++ b/.config/eww/scripts/volumecontrol
@@ -6,14 +6,13 @@
# volumecontrol mute
function get_volume {
- # amixer get Master | grep '%' | head -n 1 | cut -d '[' -f 2 | cut -d '%' -f 1
- # pactl get-sink-volume @DEFAULT_SINK@ | grep -Po '\d+(?=%)' | head -n 1
- pactl get-sink-volume @DEFAULT_SINK@ | grep '%' | cut -d '%' -f 1 | cut -d ' ' -f 6
+ # pactl get-sink-volume @DEFAULT_SINK@ | grep '%' | cut -d '%' -f 1 | cut -d ' ' -f 6
+ echo "scale=1; $(mixer vol | grep 'vol.volume=' | cut -d '=' -f 2 | cut -d ':' -f 1)*100" | bc | cut -d '.' -f 1
}
function is_mute {
- # amixer get Master | grep '%' | grep -oE '[^ ]+$' | grep off > /dev/null
- pactl get-sink-mute @DEFAULT_SINK@ | grep 'Mute: yes' >> /dev/null
+ # pactl get-sink-mute @DEFAULT_SINK@ | grep 'Mute: yes' >> /dev/null
+ mixer vol | grep 'vol.mute=on' >> /dev/null
}
function send_notification {
@@ -53,27 +52,26 @@ fyi --hint=string:x-canonical-private-synchronous:volumecontrol -u normal "$icon
case $1 in
up)
- # Set the volume on (if it was muted)
- # amixer set Master on > /dev/null
- pactl set-sink-mute @DEFAULT_SINK@ 0
+ # pactl set-sink-mute @DEFAULT_SINK@ 0
+ mixer vol.mute=off
# Up the volume (+ 2%)
- # amixer sset Master 2%+ > /dev/null
- pactl set-sink-volume @DEFAULT_SINK@ +2%
+ # pactl set-sink-volume @DEFAULT_SINK@ +2%
+ mixer vol.volume=+2%
send_notification
# canberra-gtk-play -i audio-volume-change
;;
down)
- # amixer set Master on > /dev/null
- pactl set-sink-mute @DEFAULT_SINK@ 0
- # amixer sset Master 2%- > /dev/null
- pactl set-sink-volume @DEFAULT_SINK@ -2%
+ # pactl set-sink-mute @DEFAULT_SINK@ 0
+ mixer vol.mute=off
+ # pactl set-sink-volume @DEFAULT_SINK@ -2%
+ mixer vol.volume=-2%
send_notification
# canberra-gtk-play -i audio-volume-change
;;
mute)
# Toggle mute
- # amixer set Master 1+ toggle > /dev/null
- pactl set-sink-mute @DEFAULT_SINK@ toggle
+ # pactl set-sink-mute @DEFAULT_SINK@ toggle
+ mixer vol.mute=toggle
if is_mute ; then
icon="󰝟"
fyi --hint=string:x-canonical-private-synchronous:volumecontrol -u normal "$icon Audio Muted"