summaryrefslogtreecommitdiff
path: root/battery-status.sh
diff options
context:
space:
mode:
authorAnton Bobov <abobov@gmail.com>2017-09-14 22:51:28 +0500
committerAnton Bobov <abobov@gmail.com>2017-09-14 22:51:28 +0500
commit95e920f6fe2de0b26cd8af072b29438c9a8e83cc (patch)
tree4c04e443d0f428e8a0eaf97d5e1d61fdea3ccb75 /battery-status.sh
parentdcfe6acd00ab8544f483ea7444c0c937c21b6a01 (diff)
Add battery status command.
Diffstat (limited to 'battery-status.sh')
-rwxr-xr-xbattery-status.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/battery-status.sh b/battery-status.sh
new file mode 100755
index 0000000..8b7a057
--- /dev/null
+++ b/battery-status.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Print current battery status. Can be used in genmon xfce plugin.
+
+print_sepparator=false
+
+print_status() {
+ [ $print_sepparator = true ] && printf ' '
+
+ case "$status" in
+ "Full")
+ return;;
+ "Discharging")
+ status="-";;
+ "Charging")
+ status="+";;
+ "Unknown")
+ # Probably rich the threshold
+ if [ $(echo "$current_charge > 50" | bc -l) == 1 ] ; then
+ return
+ fi
+ status="?"
+ ;;
+ *)
+ status="?";;
+ esac
+
+ printf '%s %.0f%s' $(basename $bat) $current_charge "$status"
+
+ print_sepparator=true
+}
+
+for bat in /sys/class/power_supply/BAT? ; do
+ status=$(cat "$bat/status")
+ energy_full=$(cat "$bat/energy_full")
+ energy_now=$(cat "$bat/energy_now")
+ current_charge=$(bc <<< "scale=2; $energy_now / $energy_full * 100")
+
+ print_status
+done
+echo