This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/apps/de/polybar/mic.sh
Daniel Flanagan 74cc8fa92e
MIC SCRIPT
2020-01-24 12:45:49 -06:00

39 lines
663 B
Bash
Executable file

#!/usr/bin/env sh
pidfile="/var/run/user/$(id -u)/polybar-mic-script.sh.pid"
if [ -e "$pidfile" ]; then
kill "$(cat "${pidfile}")" > /dev/null 2>&1
cleanup
fi
cleanup() {
rm -f "$pidfile"
}
print_status() {
if amixer get Capture | grep -q '\[off\]'; then
# red means recording
echo "%{F$(xrdb -query | grep -Po 'color4:.*#\K\w[0-9a-f]+')}"
else
# blue means nobody can hear you scream
echo "%{F$(xrdb -query | grep -Po 'color1:.*#\K\w[0-9a-f]+')}"
fi
}
toggle() {
amixer set Capture toggle > /dev/null 2>&1
print_status
}
trap "cleanup" EXIT
trap "toggle" USR1
echo $$ > "$pidfile"
while true; do
print_status
sleep 1 &
wait
done