summaryrefslogtreecommitdiff
path: root/desktop/spectrwm/examples/battery_status.sh
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/spectrwm/examples/battery_status.sh')
-rw-r--r--desktop/spectrwm/examples/battery_status.sh30
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