diff options
Diffstat (limited to 'desktop/spectrwm/examples/battery_status.sh')
-rw-r--r-- | desktop/spectrwm/examples/battery_status.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/desktop/spectrwm/examples/battery_status.sh b/desktop/spectrwm/examples/battery_status.sh new file mode 100644 index 0000000000..2e0cc101a4 --- /dev/null +++ b/desktop/spectrwm/examples/battery_status.sh @@ -0,0 +1,30 @@ +#!/bin/sh + + +PREF=/sys/class/power_supply/BAT0 +[ -r "${PREF}" ] || exit 1 + + +BATTERY_STATUS=$(< ${PREF}/status) + +typeset -i FULL_CAPACITY=$(< ${PREF}/charge_full) +typeset -i WARNING_CAPACITY=$(( ${FULL_CAPACITY} * 20 / 100 )) +typeset -i LOW_CAPACITY=$(( ${FULL_CAPACITY} * 10 / 100 )) +typeset -i REMAINING_CAPACITY=$(< ${PREF}/charge_now) + +REMAINING_PERCENTAGE=$( echo "scale=1; ${REMAINING_CAPACITY} * 100 / ${FULL_CAPACITY}" |bc ) + + +case "${BATTERY_STATUS}" in + 'Full') # battery full + printf "AC" + ;; + 'Discharging') # battery discharging + printf "${REMAINING_PERCENTAGE}%%" + ;; + 'Charging') # battery charging + printf "AC^${REMAINING_PERCENTAGE}%%" + ;; +esac + +exit 0 |