From 75131895c412fe019489b84083bb0dabc312eed7 Mon Sep 17 00:00:00 2001
From: Justine Smithies <justine@smithies.me.uk>
Date: Sat, 9 Nov 2024 16:26:05 +0000
Subject: Switched from using pactl to the FreeBSD mixer in my volume control
 script.

---
 .config/eww/scripts/volumecontrol | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)

(limited to '.config/eww/scripts/volumecontrol')

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"
-- 
cgit v1.2.3