blob: e75116b84da78976a589cc2124968a78f3ba3475 (
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
55
56
57
58
59
60
|
{ pkgs, ...}:
let
name = "bat";
in
pkgs.writeScriptBin name
''
red="\e[31m"
grn="\e[32m"
ylw="\e[33m"
cyn="\e[36m"
blu="\e[34m"
prp="\e[35m"
bprp="\e[35;1m"
rst="\e[0m"
bat_status=""
bat_status=$( cat /sys/class/power_supply/BAT0/capacity )
charging_status=$( cat /sys/class/power_supply/BAT0/status )
health() {
for i in {0..4}
do
if [[ $i -le $(( $bat_status/20 )) ]]; then
echo -ne "#[fg=colour1]· "
else
echo -ne "#[fg=colour8]· "
fi
done
echo
}
bat_status_small() {
if [[ "$charging_status" = *Charging* ]]; then
echo -ne "+$bat_status%"
else
echo -ne "$bat_status%"
fi
}
[ -z "$1" ] && {
bat_status_small
}
while getopts qi options
do
case $options in
i)
bat_status_small
;;
q)
if [[ "$charging_status" = *Charging* ]]; then
echo -ne "+ $(health)"
else
health
fi
esac
done
''
|