aboutsummaryrefslogtreecommitdiff
path: root/modules/battery
blob: 2802be9a6aebe083ca3f54fba0f83cb91d1e6648 (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
#!/bin/bash

# Prints out battery percentage

CHARGING_ICON=''
WARNING_ICON=''
BATTERY_FULL_ICON=''
BATTERY_2_ICON=''
BATTERY_3_ICON=''
BATTERY_4_ICON=''

get_battery()
{
    if [ -d /sys/class/power_supply/BAT? ]; then
        ac_adapter=$(cat /sys/class/power_supply/BAT?/status)
        if [ "$ac_adapter" == "Charging" ]; then
            echo "$CHARGING_ICON"
        fi

        # Will show all batteries with approximate icon for remaining power.
        for x in /sys/class/power_supply/BAT?/capacity;
        do
            case "$(cat $x)" in
                100)            echo "$BATTERY_FULL_ICON"            ;;
                9[0-9])         echo "$BATTERY_FULL_ICON $(cat $x)%" ;;
                8[0-9]|7[0-9])  echo "$BATTERY_2_ICON $(cat $x)%" ;;
                6[0-9]|5[0-9])  echo "$BATTERY_3_ICON $(cat $x)%" ;;
                4[0-9]|3[0-9])  echo "$BATTERY_4_ICON $(cat $x)%" ;;
                2[0-9]|1[0-9])  if [ "$ac_adapter" == "Charging" ]; then
                                    echo "$BATTERY_4_ICON $(cat $x)%"
                                else
                                    echo "$WARNING_ICON  $BATTERY_4_ICON $(cat $x)%"
                                fi ;;
                [0-9])          if [ "$ac_adapter" == "Charging" ]; then
                                    echo "$BATTERY_4_ICON $(cat $x)%"
                                else
                                    echo "$WARNING_ICON  $BATTERY_4_ICON $(cat $x)%"
                                fi ;;
                esac
        done
    fi
}

get_battery