config/.local/bin/bash-status-bat
2023-03-30 21:42:20 +10:30

28 lines
781 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" || "$allstate" == "not-charging" || "$allstate" == "fully-charged" ]]; then
state="full"
else
state="N/A"
fi
echo "$((current/${#batteries[@]}))% $state"