blob: 206246823714634b2b53b558ff62aceba97da8f8 (
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
|
#!/bin/sh
# Prints all batteries, their percentage remaining and an emoji corresponding
# to charge status.
case $BLOCK_BUTTON in
3) notify-send " Battery module" " : discharging
: charging
: not charging
: charged
: discharging
: battery very low!" ;;
esac
# acpi alternative
# acpi | sed "s/Battery [0-9]: //;s/[Dd]ischarging, / /;s/[Nn]ot charging, / /;s/[Cc]harging, / /;s/[Uu]nknown, /♻️/;s/[Ff]ull, / /;s/ \(remaining\|until charged\)//"; exit
# Loop through all attached batteries.
for battery in /sys/class/power_supply/BAT?; do
# Get its remaining capacity and charge status.
capacity=$(cat "$battery"/capacity 2>/dev/null) || break
status=$(sed "s/[Dd]ischarging/ /;s/[Nn]ot charging/ /;s/[Cc]harging/ /;s/[Uu]nknown/ /;s/[Ff]ull/ /" "$battery"/status)
# If it is discharging and 25% or less, we will add a as a warning.
[ "$capacity" -le 25 ] && [ "$status" = " " ] && warn=" "
printf "%s%s%s%%" " $status" "$warn" "$capacity"
unset warn
done | sed 's/ *$//'
|