34 lines
952 B
Bash
Executable File
34 lines
952 B
Bash
Executable File
#! /bin/sh
|
|
|
|
RED="\e[31m"
|
|
GREEN="\e[32m"
|
|
YELLOW="\e[33m"
|
|
MAGENTA="\e[35m"
|
|
CYAN="\e[36m"
|
|
BOLD="\e[1m"
|
|
NC="\e[0m"
|
|
|
|
BATTERY_INFO=$(upower -i "$(upower -e | grep 'BAT')")
|
|
BATTERY_PERCENT=$(echo "$BATTERY_INFO" | grep -oP 'percentage:\s+\K\d+')
|
|
BATTERY_STATUS=$(echo "$BATTERY_INFO" | grep -oP 'state:\s+\K\w+')
|
|
CHARGE_CYCLES=$(echo "$BATTERY_INFO" | grep -oP 'cycle-count:\s+\K\d+')
|
|
WARNING_LEVEL=$(echo "$BATTERY_INFO" | grep -oP 'warning-level:\s+\K\w+')
|
|
|
|
if [ "$BATTERY_STATUS" = "charging" ] || [ "$BATTERY_STATUS" = "pending" ]; then
|
|
COLOR=$CYAN
|
|
elif [ "$BATTERY_PERCENT" -ge 80 ]; then
|
|
COLOR=$GREEN
|
|
elif [ "$BATTERY_PERCENT" -ge 30 ]; then
|
|
COLOR=$YELLOW
|
|
else
|
|
COLOR=$RED
|
|
fi
|
|
|
|
echo "${BOLD}Battery: ${COLOR}$BATTERY_PERCENT% ($BATTERY_STATUS)${NC}"
|
|
if [ -n "$CHARGE_CYCLES" ]; then
|
|
echo "${BOLD}Charge Cycles: ${MAGENTA}$CHARGE_CYCLES${NC}"
|
|
fi
|
|
if [ "$WARNING_LEVEL" != "none" ]; then
|
|
echo "${BOLD}Warning Level: ${RED}$WARNING_LEVEL${NC}"
|
|
fi
|