28 lines
715 B
Bash
Executable File
28 lines
715 B
Bash
Executable File
#!/usr/bin/env bash
|
|
output=$(wpctl get-volume @DEFAULT_SINK@ | cut -d' ' -f2- | sed -E 's/\.//g' | sed 's/^0*//g')
|
|
count=$(echo "$output" | cut -d' ' -f1)
|
|
muted=$(echo "$output" | cut -d'[' -f2 | cut -d ']' -f1)
|
|
|
|
# if not muted, set to empty string
|
|
if [ "$muted" == "$count" ]; then
|
|
muted=""
|
|
fi
|
|
|
|
# fix removal of zero padding if volume is zero
|
|
if [ "$count" == "" ]; then
|
|
count="0"
|
|
fi
|
|
|
|
color="green"
|
|
if ((count > 75)); then color="yellow"; fi
|
|
if ((count > 90)); then color="peach"; fi
|
|
if ((count > 100)); then color="maroon"; fi
|
|
if ((count > 110)); then color="red"; fi
|
|
|
|
output="${count}%"
|
|
if [ "$muted" != "" ]; then
|
|
output="${output} [${muted}]"
|
|
fi
|
|
|
|
echo "{\"count\":\"${output}\", \"color\":\"${color}\"}"
|