63 lines
1.1 KiB
Bash
Executable File
63 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
ACPI=$(acpi -b)
|
|
STATUS=$(echo $ACPI | cut -d':' -f2 | sed 's/^\s\([^,]*\),.*/\1/')
|
|
LEVEL=$(echo $ACPI | cut -d',' -f2 | sed 's/\s//g' | sed 's/%$//')
|
|
TIME=$(echo $ACPI | cut -d',' -f3 | sed 's/\s//')
|
|
CLASS="unknown"
|
|
if [[ -z $1 ]]; then
|
|
echo "$STATUS $LEVEL ($TIME)"
|
|
elif [[ $1 == bar ]]; then
|
|
case "$STATUS" in
|
|
"Discharging")
|
|
CLASS="discharging"
|
|
case "$LEVEL" in
|
|
[8-9][0-9])
|
|
STATUS=" "
|
|
;;
|
|
[6-7][0-9])
|
|
STATUS=" "
|
|
;;
|
|
[4-5][0-9])
|
|
STATUS=" "
|
|
;;
|
|
[2-3][0-9])
|
|
STATUS=" "
|
|
;;
|
|
1[0-9])
|
|
CLASS="low"
|
|
STATUS=" "
|
|
;;
|
|
[1-9])
|
|
CLASS="critical"
|
|
STATUS=" "
|
|
;;
|
|
*)
|
|
STATUS="? "
|
|
;;
|
|
esac
|
|
;;
|
|
"Not charging")
|
|
CLASS="ac"
|
|
STATUS=" "
|
|
;;
|
|
"Full")
|
|
CLASS="ac"
|
|
STATUS=" "
|
|
;;
|
|
"Charging")
|
|
CLASS="charging"
|
|
STATUS="🗲"
|
|
;;
|
|
*)
|
|
STATUS="✘"
|
|
;;
|
|
esac
|
|
printf '{"text":"%b%%","icon":"%b ","percentage":"%b","tooltip":"%b","class":"%b"}' "${STATUS}${LEVEL}" $STATUS $LEVEL "$TIME" $CLASS
|
|
exit
|
|
elif [[ $1 == 'notify' ]]; then
|
|
notify-send Battery "$(echo $ACPI | cut -d':' -f2- | sed 's/\s//')"
|
|
else
|
|
echo "invalid option $1"
|
|
fi
|