#! /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