From 08cec0b96bb963cdfa71f7de08f0f63309b9407f Mon Sep 17 00:00:00 2001 From: Anton Bobov Date: Sat, 8 Feb 2025 00:49:22 +0500 Subject: Update battery scripts --- bat.sh | 19 ++++++++++--------- battery-status.sh | 56 +++++++++++++++++++++++++++++-------------------------- 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 -- cgit v1.2.3