status_update (1244B)
1 #!/bin/sh 2 [ $# -eq 0 ] || { echo "usage: $0" >&2; exit 1; } 3 4 VOLUME="$(volume_get)" 5 DATETIME="$(date +"%a %d %b │ %H:%M")" 6 7 BAT="/sys/class/power_supply/BAT0/capacity" 8 if [ -r "$BAT" ]; then 9 BATTERY="$(cat "$BAT")" 10 xsetroot -name " V${VOLUME}% │ B${BATTERY}% │ $DATETIME " 11 else 12 xsetroot -name " V${VOLUME}% │ $DATETIME " 13 fi 14 15 VERY_LOW_THRESH=10 16 LOW_THRESH=20 17 18 VERY_HIGH_THRESH=90 19 HIGH_THRESH=80 20 21 STATE_DIR="$XDG_RUNTIME_DIR" 22 STATE="$STATE_DIR/last_status_update_battery" 23 24 if [ -r "$BAT" ] && [ -d "$STATE_DIR" ] && [ -w "$STATE_DIR" ]; then 25 if [ ! -e "$STATE" ]; then 26 echo 100 > "$STATE" 27 fi 28 29 LAST="$(cat "$STATE")" 30 31 if [ "$BATTERY" -le $VERY_LOW_THRESH ] && [ "$LAST" -gt $VERY_LOW_THRESH ]; then 32 notify-send --urgency=critical "Very low battery (${BATTERY}%)!" 33 elif [ "$BATTERY" -le $LOW_THRESH ] && [ "$LAST" -gt $LOW_THRESH ]; then 34 notify-send --urgency=normal "Low battery (${BATTERY}%)!" 35 fi 36 37 if [ "$BATTERY" -ge $VERY_HIGH_THRESH ] && [ "$LAST" -lt $VERY_HIGH_THRESH ]; then 38 notify-send --urgency=critical "Very high battery (${BATTERY}%)!" 39 elif [ "$BATTERY" -ge $HIGH_THRESH ] && [ "$LAST" -lt $HIGH_THRESH ]; then 40 notify-send --urgency=normal "High battery (${BATTERY}%)!" 41 fi 42 43 echo "$BATTERY" > "$STATE" 44 fi