diff options
| author | Anton Bobov <abobov@gmail.com> | 2017-09-14 22:51:28 +0500 |
|---|---|---|
| committer | Anton Bobov <abobov@gmail.com> | 2017-09-14 22:51:28 +0500 |
| commit | 95e920f6fe2de0b26cd8af072b29438c9a8e83cc (patch) | |
| tree | 4c04e443d0f428e8a0eaf97d5e1d61fdea3ccb75 | |
| parent | dcfe6acd00ab8544f483ea7444c0c937c21b6a01 (diff) | |
Add battery status command.
| -rwxr-xr-x | battery-status.sh | 41 |
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 |
