#!/bin/sh red="\033[31m" orange="\033[33m" cyan="\033[36m" green="\033[32m" white="\033[37m" reset="\033[0m" [ -z "$(ls /sys/class/power_supply)" ] && exit 0 for battery in /sys/class/power_supply/BAT?*; do pidof -x sbd-battery >/dev/null 2>&1 || sbd-battery "$battery" >/dev/null 2>&1 & [ -n "${capacity+x}" ] && printf " " capacity="$(cat "$battery/capacity" 2>&1)" case "$(cat "$battery/status" 2>&1)" in "Full") icon="󰁹" color="$green" ;; "Not charging") icon="󰁹" color="$white" ;; "Unknown") icon="󰂑" color="$orange" ;; "Charging") icon="󰂄" color="$cyan" ;; "Discharging") if [ "$capacity" -le 10 ]; then icon="󰂎" color="$red" elif [ "$capacity" -le 20 ]; then icon="󰁺" color="$red" elif [ "$capacity" -le 30 ]; then icon="󰁻" color="$white" elif [ "$capacity" -le 40 ]; then icon="󰁼" color="$white" elif [ "$capacity" -le 50 ]; then icon="󰁽" color="$white" elif [ "$capacity" -le 60 ]; then icon="󰁾" color="$white" elif [ "$capacity" -le 70 ]; then icon="󰁿" color="$white" elif [ "$capacity" -le 80 ]; then icon="󰂀" color="$white" elif [ "$capacity" -le 90 ]; then icon="󰂁" color="$white" elif [ "$capacity" -le 100 ]; then icon="󰂂" color="$white" else icon="󰁹" color="$white" fi ;; *) exit 1 ;; esac printf "%b" "$color$icon$reset $capacity" done && printf "\\n"