aboutsummaryrefslogtreecommitdiff
path: root/des/i3/i3blocks/scripts/battery
blob: 8151a33fe3496a7f24e33792328ef4b045f974c1 (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
#!/usr/bin/bash

BAT_DIR=/sys/class/power_supply/BAT0
CHARGE=$(cat $BAT_DIR/capacity)
CHARGE_FULL=$(cat $BAT_DIR/charge_full)
CHARGE_NOW=$(cat $BAT_DIR/charge_now)
STATUS=$(cat $BAT_DIR/status)

ICON_BATTERY_25_P=
ICON_BATTERY_50_P=
ICON_BATTERY_75_P=
ICON_BATTERY_FULL=
ICON_BATTERY_CHARGING=
ICON_FULL=

PERCENT_FULL=$(echo - | awk -v charge_full="$CHARGE_FULL" -v charge_now="$CHARGE_NOW" '{printf "%1.0f\n", (charge_now / charge_full)*100}')
message=""

if [[ $PERCENT_FULL -le 20 ]]; then
    FILE_OUT=/tmp/i3block_battery_warning

    if [[ $PERCENT_FULL -eq 20 && ! -f ${FILE_OUT}_15 ]]; then
        /usr/bin/notify-send -u normal -t 0 "🔋 Low battery! 20% remaining";
        touch ${FILE_OUT}_15
    elif [[ $PERCENT_FULL -eq 10 && ! -f ${FILE_OUT}_10 ]]; then
        /usr/bin/notify-send -u critical -t 0 "🔋 Low battery! 15% remaining";
        touch ${FILE_OUT}_10
        touch $FILE_OUT_10
    elif [[ $PERCENT_FULL -eq 5 && -f ${FILE_OUT}_5 ]]; then
        /usr/bin/notify-send -u critical -t 0 "🔋 Low battery! 10% remaining";
        touch ${FILE_OUT}_5
    fi
fi

if [[ $STATUS == "Full" ]]; then
    message="$ICON_FULL"
elif [[ $STATUS == "Charging" ]]; then
    message="$ICON_BATTERY_CHARGING ($PERCENT_FULL%)"
elif [[ $PERCENT_FULL -lt 100 ]]; then
    message="$ICON_BATTERY_FULL ($PERCENT_FULL%)"
elif [[ $PERCENT_FULL -lt 75 ]]; then
    message="$ICON_BATTERY_75_P ($PERCENT_FULL%)"
elif [[ $PERCENT_FULL -lt 50 ]]; then
    message="$ICON_BATTERY_50_P ($PERCENT_FULL%)"
elif [[ $PERCENT_FULL -lt 25 ]]; then
    message="$ICON_BATTERY_25_P ($PERCENT_FULL%)"
fi

echo $message