summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Bobov <anton@bobov.name>2025-02-08 00:49:22 +0500
committerAnton Bobov <anton@bobov.name>2025-02-08 00:49:22 +0500
commit08cec0b96bb963cdfa71f7de08f0f63309b9407f (patch)
tree027ec9100b79695a66bab1ec4c8076e07edee2d3
parent2d76aa94d9bca6d08a31d5f94721c390227993f1 (diff)
Update battery scripts
-rwxr-xr-xbat.sh19
-rwxr-xr-xbattery-status.sh56
2 files changed, 40 insertions, 35 deletions
diff --git a/bat.sh b/bat.sh
index 071bb20..d1531b4 100755
--- a/bat.sh
+++ b/bat.sh
@@ -1,16 +1,17 @@
-#!/bin/bash
+#!/usr/bin/env bash
+
+set -euo pipefail
ac_online=$(cat /sys/class/power_supply/AC/online)
-if [ "x$ac_online" = "x1" ] ; then
- echo "On power"
+if [ "$ac_online" = 1 ]; then
+ echo "On power"
fi
-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")
+for bat in /sys/class/power_supply/BAT?; do
+ energy_full=$(cat "$bat/energy_full")
+ energy_now=$(cat "$bat/energy_now")
+ current_charge=$(bc <<<"scale=2; $energy_now / $energy_full * 100")
- printf '%s: %.0f%%\n' $(basename $bat) $current_charge
+ printf '%s: %.0f%%\n' "$(basename "$bat")" "$current_charge"
done
diff --git a/battery-status.sh b/battery-status.sh
index 3c4ac28..370d5fe 100755
--- a/battery-status.sh
+++ b/battery-status.sh
@@ -5,37 +5,41 @@
print_sepparator=false
print_status() {
- [ $print_sepparator = true ] && printf ' '
+ [ $print_sepparator = true ] && printf ' '
- case "$status" in
- "Full"|"Not charging")
- return;;
- "Discharging")
- status="↓";;
- "Charging")
- status="↑";;
- "Unknown")
- # Probably rich the threshold
- if [ "$(echo "$current_charge > 50" | bc -l)" == 1 ] ; then
- return
- fi
- status="?"
- ;;
- *)
- status="?";;
- esac
+ case "$status" in
+ "Full" | "Not charging")
+ 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"
+ printf '%s %.0f%s' "$(basename "$bat")" "$current_charge" "$status"
- print_sepparator=true
+ 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")
+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
+ print_status
done
echo