blob: 58ad4e3ae3e2395152685a432dd0c2ad3a3432c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#!/usr/bin/env bash
set -e
# 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'
fi
printf "%s %s%%\n" "${ICON}" "${POWER}"
|