#!/bin/sh # Prints all batteries, their percentage remaining and an emoji corresponding # to charge status (🔌 for plugged up, 🔋 for discharging on battery, etc.). case $BLOCK_BUTTON in 3) notify-send "🔋 Battery module" "🔋: discharging 🛑: not charging 🔄;: stagnant charge 🔌: charging ⚡: charged ❗: battery very low!" ;; esac # Loop through all attached batteries. for battery in /sys/class/power_supply/BAT? do # Get its remaining capacity and charge status. capacity=$(cat "$battery"/capacity 2>/dev/null) [ -n "$capacity" ] && [ "$capacity" -gt 100 ] && continue #do not print misreads [ -z "$capacity" ] && continue #if battery fails during reading, quit status=$(sed "s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/🔋/;s/Full/⚡/" "$battery"/status) # If it is discharging and 25% or less, we will add a ❗ as a warning. [ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗" printf "%s%s%s%%\n" "$status" "$warn" "$capacity" unset warn done | sed 's/ *$//'