35 lines
996 B
Bash
Executable File
35 lines
996 B
Bash
Executable File
#!/bin/sh
|
|
|
|
print_status() {
|
|
volume_info=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ 2>/dev/null)
|
|
volume=$(printf '%s' "$volume_info" | awk '{printf "%d%%", $2 * 100}')
|
|
printf '%s' "$volume_info" | grep -q MUTED && volume="muted"
|
|
|
|
brightness=$(brightnessctl -m 2>/dev/null | awk -F, '{print $4}')
|
|
|
|
battery_device=$(upower -e 2>/dev/null | grep -m 1 battery)
|
|
if [ -n "$battery_device" ]; then
|
|
battery=$(upower -i "$battery_device" 2>/dev/null | awk '
|
|
/state/ { state=$2 }
|
|
/percentage/ { percentage=$2 }
|
|
END {
|
|
if (percentage != "") {
|
|
printf "%s", percentage
|
|
if (state != "") printf " %s", state
|
|
}
|
|
}
|
|
')
|
|
fi
|
|
|
|
printf 'VOL %s | BRI %s | BAT %s | %s\n' "${volume:-n/a}" "${brightness:-n/a}" "${battery:-n/a}" "$(date +'%Y-%m-%d %H:%M:%S')"
|
|
}
|
|
|
|
trap print_status USR1
|
|
|
|
print_status
|
|
while :; do
|
|
sleep 60 &
|
|
wait $!
|
|
print_status
|
|
done
|