clean up scripts
This commit is contained in:
39
.config/polybar/scripts/pipewire-microphone.sh
Normal file
39
.config/polybar/scripts/pipewire-microphone.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
get_mic_default() {
|
||||
pactl info | awk '/Default Source:/ {print $3}'
|
||||
}
|
||||
|
||||
is_mic_muted() {
|
||||
pactl get-source-mute "$(get_mic_default)" | awk '{print $2}'
|
||||
}
|
||||
|
||||
get_mic_status() {
|
||||
if [ "$(is_mic_muted)" = "yes" ]; then
|
||||
printf "%s\n" "#1"
|
||||
else
|
||||
printf "%s\n" "#2"
|
||||
fi
|
||||
}
|
||||
|
||||
listen() {
|
||||
get_mic_status
|
||||
LANG=EN; pactl subscribe | while read -r event; do
|
||||
if printf "%s\n" "${event}" | grep -qE '(source|server)'; then
|
||||
get_mic_status
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
toggle() {
|
||||
pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
}
|
||||
|
||||
case "${1}" in
|
||||
--toggle)
|
||||
toggle
|
||||
;;
|
||||
*)
|
||||
listen
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user