summaryrefslogtreecommitdiff
path: root/.local/bin/statusbar/batinfo
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2023-03-22 11:06:00 +0000
committer0scar <qgt268@alumni.ku.dk>2023-03-22 11:06:00 +0000
commitc990b20a8b6db9e6190e0ce775f0cc5ecb4bf1bb (patch)
tree06f8bcbe92a2f27858e7e431799a13dbcd7cd3e1 /.local/bin/statusbar/batinfo
parentfd8a737134eb92e204aa632731ea303fed1dc1b0 (diff)
Update statusbar scripts
Diffstat (limited to '.local/bin/statusbar/batinfo')
-rwxr-xr-x.local/bin/statusbar/batinfo65
1 files changed, 42 insertions, 23 deletions
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
+# 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)"
-ARG=${1:-$BLOCK_BUTTON}
+# get charging state of adapter
+[ -n "$(acpi -a | sed -E '/on-line/!d' || true)" ] && CHARGING=1
-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
+ARG=${1:-${BLOCK_BUTTON}}
-power=$(echo "${status}" | awk '/Battery [0-9]+: [A-Z]/{s+=$4;c++}; END{printf "%.1f%%", s/c}')
+if [ -n "${ARG}" ]; then
+ if [ -z "${CHARGING}" ]; then
+ CHARGINGTXT="Not charging"
+ else
+ CHARGINGTXT="Charging"
+ fi
-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';;
+ 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}"