#!/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]+')}"
toggle() {
amixer set Capture toggle > /dev/null 2>&1
print_status
trap "cleanup" EXIT
trap "toggle" USR1
echo $$ > "$pidfile"
while true; do
sleep 1 &
wait
done