From c990b20a8b6db9e6190e0ce775f0cc5ecb4bf1bb Mon Sep 17 00:00:00 2001 From: 0scar Date: Wed, 22 Mar 2023 12:06:00 +0100 Subject: Update statusbar scripts --- .local/bin/statusbar/batinfo | 73 ++++++++++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 27 deletions(-) (limited to '.local/bin/statusbar/batinfo') diff --git a/.local/bin/statusbar/batinfo b/.local/bin/statusbar/batinfo index 86ef565..58ad4e3 100755 --- a/.local/bin/statusbar/batinfo +++ b/.local/bin/statusbar/batinfo @@ -2,34 +2,53 @@ set -e -status="$(acpi -abi)" # get battery and adapter info - -ARG=${1:-$BLOCK_BUTTON} - -case $ARG in - 1) notify-send -t $((15 * 1000)) --urgency=low "Battery status" "$status" ;; - 4) brightnessctl -q s 10%+ ;; - 5) brightnessctl -q s 10%- ;; -esac - -power=$(echo "${status}" | awk '/Battery [0-9]+: [A-Z]/{s+=$4;c++}; END{printf "%.1f%%", s/c}') - -icon='?' -if [[ -z $(echo $status | sed -n '/on-line/p') ]]; then - case "${power%.*}" in - 100 | 9[0-9]) icon='\x0d\uf578\x0b' ;; - 8[0-9]) icon='\uf581';; - 7[0-9]) icon='\uf580';; - 6[0-9]) icon='\uf57f';; - 5[0-9]) icon='\uf57e';; - 4[0-9]) icon='\uf57d';; - 3[0-9]) icon='\uf57c';; - 2[0-9]) icon='\uf57b';; - 1[0-9]) icon='\x0e\uf57a\x0b';; - [0-9]) icon='\x1c\uf579\x0b';; +# get charge of battery/batteries +POWER="$(acpi -b |\ + sed -Ee 's/^.* ([0-9]+)%/\1/g' |\ + awk '//{s+=$1;c++};END{printf "%.1f", s/c}' || true)" + +# get charging state of adapter +[ -n "$(acpi -a | sed -E '/on-line/!d' || true)" ] && CHARGING=1 + +ARG=${1:-${BLOCK_BUTTON}} + +if [ -n "${ARG}" ]; then + if [ -z "${CHARGING}" ]; then + CHARGINGTXT="Not charging" + else + CHARGINGTXT="Charging" + fi + + case ${ARG} in + 1) notify-send -t $((15 * 1000)) --urgency=low \ + "Battery status" \ + "Battery: ${POWER}\n${CHARGINGTXT}" + exit 0;; + 4) brightnessctl -q s 10%+; exit 0;; + 5) brightnessctl -q s 10%-; exit 0;; + *) exit 1 + esac +fi + +[ -n "${CHARGING}" ] && [ -n "$(echo "${POWER%.*}" | sed -En '/9[0-9]|100/p' || true)" ] && exit 0 + +ICON='?' +if [ -z "${CHARGING}" ]; then + case "${POWER%.*}" in + 100 | 9[0-9]) ICON=$'\uf578' ;; + 8[0-9]) ICON=$'\uf581';; + 7[0-9]) ICON=$'\uf580';; + 6[0-9]) ICON=$'\uf57f';; + 5[0-9]) ICON=$'\uf57e';; + 4[0-9]) ICON=$'\uf57d';; + 3[0-9]) ICON=$'\uf57c';; + 2[0-9]) ICON=$'\uf57b';; + 1[0-9]) ICON=$'\uf57a';; + [0-9]) ICON=$'\uf579';; + *) exit 1 esac else - icon='\uf583' + ICON=$'\uf583' fi -echo -en "$icon $power" +printf "%s %s%%\n" "${ICON}" "${POWER}" -- cgit v1.3