#!/bin/sh bat() { eval "$(cat /sys/class/power_supply/BAT0/uevent | grep -E \ '^POWER_SUPPLY_(STATUS|ENERGY_)')" percentage=$(printf 'scale = 0; %d * 100 / %d;\n' \ ${POWER_SUPPLY_ENERGY_NOW} ${POWER_SUPPLY_ENERGY_FULL} | bc) case "${POWER_SUPPLY_STATUS}" in 'Unknown') status='?' ;; 'Charging') status='⚡' ;; 'Discharging') status='🔋' ;; 'Not charging') status='!' ;; 'Full') status='🔌' ;; esac printf '%s%3d%%\n' "${status}" ${percentage} } ac() { status='🔌' printf '%s\n' "${status}" } main() { if [ -e /sys/class/power_supply/BAT0/uevent ]; then bat else ac fi } main "${@}"