diff options
| author | Anton Bobov <anton@bobov.name> | 2025-02-08 00:49:22 +0500 |
|---|---|---|
| committer | Anton Bobov <anton@bobov.name> | 2025-02-08 00:49:22 +0500 |
| commit | 08cec0b96bb963cdfa71f7de08f0f63309b9407f (patch) | |
| tree | 027ec9100b79695a66bab1ec4c8076e07edee2d3 | |
| parent | 2d76aa94d9bca6d08a31d5f94721c390227993f1 (diff) | |
Update battery scripts
| -rwxr-xr-x | bat.sh | 19 | ||||
| -rwxr-xr-x | battery-status.sh | 56 |
2 files changed, 40 insertions, 35 deletions
@@ -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 |
