config/.local/bin/bash-status-bat
2023-03-24 15:15:55 +10:30

28 lines
689 B
Bash
Executable File

#!/bin/bash
readarray -t batteries < <(upower -e | grep 'BAT')
[[ -z $batteries ]] && exit
allstate=""
for battery in ${batteries[@]}
do
current=$(($current + $(upower -i "$battery" | grep -E "percentage" | sed 's/.*://' | sed 's/ *//' | sed 's/\%//')))
state=$(upower -i "$battery" | grep -E "state" | sed 's/.*://' | sed 's/ *//')
allstate=$allstate$state
done
if [[ "$allstate" == *"discharging"* ]]; then
state="discharging"
elif [[ "$allstate" == *"charging"* ]]; then
state="charging"
elif [[ "$allstate" == "not-chargingnot-charging" || "$allstate" == "fully-chargedfully-charged" ]]; then
state="full"
else
state="N/A"
fi
echo "$((current/${#batteries[@]}))% $state"