#!/bin/bash PANEL_FIFO="$1" PREFIX="$2" DELAY="$3" readarray -td";" ICONS <<< "$4"; declare -p ICONS >/dev/null BATTERY_NAME="${5-BAT0}" exec 5>"$PANEL_FIFO" main() { local capacity="$(cat /sys/class/power_supply/$BATTERY_NAME/capacity)" local icon="" if [ "$capacity" -lt 20 ]; then icon="${ICONS[0]}" elif [ "$capacity" -lt 40 ]; then icon="${ICONS[1]}" elif [ "$capacity" -lt 60 ]; then icon="${ICONS[2]}" elif [ "$capacity" -lt 80 ]; then icon="${ICONS[3]}" else icon="${ICONS[4]}" fi REPLY="$icon $capacity%" } while :; do main echo "$PREFIX $REPLY" >&5 sleep "$DELAY" done