#!/bin/bash for battery in /sys/class/power_supply/BAT?*; do # If non-first battery, print a space separator. [ -n "${capacity+x}" ] && printf " " # Sets up the status and capacity case "$(cat "$battery/status")" in "Full") status="\uf102" ;; "Discharging") status="\uf078" ;; "Charging") status="\uf077" ;; "Not charging") status="\uf444" ;; "Unknown") status="\uf128" ;; esac capacity=$(cat "$battery/capacity") # Will make a warn variable if discharging and low [ "$capacity" -le 20 ] && printf "^c#ffffff^^b#770000^${status} ${capacity}%%^d^" || printf "${status} ${capacity}%%" done && exit 0