summaryrefslogtreecommitdiffstats
path: root/bin/batmon
diff options
context:
space:
mode:
Diffstat (limited to 'bin/batmon')
-rwxr-xr-xbin/batmon44
1 files changed, 44 insertions, 0 deletions
diff --git a/bin/batmon b/bin/batmon
new file mode 100755
index 0000000..fec22b7
--- /dev/null
+++ b/bin/batmon
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+bat()
+{
+ eval "$(cat /sys/class/power_supply/BAT0/uevent | grep -E \
+ '^POWER_SUPPLY_(STATUS|ENERGY_)')"
+ percentage=$(printf 'scale = 0; %d * 100 / %d;\n' \
+ ${POWER_SUPPLY_ENERGY_NOW} ${POWER_SUPPLY_ENERGY_FULL} | bc)
+ case "${POWER_SUPPLY_STATUS}" in
+ 'Unknown')
+ status='?'
+ ;;
+ 'Charging')
+ status='⚡'
+ ;;
+ 'Discharging')
+ status='🔋'
+ ;;
+ 'Not charging')
+ status='!'
+ ;;
+ 'Full')
+ status='🔌'
+ ;;
+ esac
+ printf '%s%3d%%\n' "${status}" ${percentage}
+}
+
+ac()
+{
+ status='🔌'
+ printf '%s\n' "${status}"
+}
+
+main()
+{
+ if [ -e /sys/class/power_supply/BAT0/uevent ]; then
+ bat
+ else
+ ac
+ fi
+}
+
+main "${@}"