From 940b8ed1921816ae659169bfeb032bdcb10409cb Mon Sep 17 00:00:00 2001 From: Mike S <42784580+awarebayes@users.noreply.github.com> Date: Mon, 15 Feb 2021 18:13:29 +0300 Subject: [PATCH] Add support for multiple batteries Hello, I have a laptop with two batteries and I want to display them both. Your script has support for 2 batteries in theory, i.e. it prints two strings with status. But only the first result is used. I propose concatenating two results in one string and echoing *it* instead. That way 2 batteries are displayed inside one dwm block. --- .local/bin/statusbar/sb-battery | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.local/bin/statusbar/sb-battery b/.local/bin/statusbar/sb-battery index d0272ece..974c4ac6 100755 --- a/.local/bin/statusbar/sb-battery +++ b/.local/bin/statusbar/sb-battery @@ -20,6 +20,8 @@ esac [ ! -e /sys/class/power_supply/BAT?* ] && echo "No battery found" && exit 1 # Loop through all attached batteries and format the info + +STATUS="" for battery in /sys/class/power_supply/BAT?* do # Sets up the status and capacity @@ -29,11 +31,15 @@ do "Discharging") status="🔋" ;; "Charging") status="🔌" ;; "Not charging") status="🛑" ;; - "Unknown") status="♻️" ;; + "Unknown") status="🔋❓" ;; esac capacity=$(cat "$battery/capacity") # Will make a warn variable if discharging and low [ "$status" = "🔋" ] && [ "$capacity" -le 25 ] && warn="❗" # Prints the info - printf "%s%s%d%%\n" "$status" "$warn" "$capacity"; unset warn -done && return 0 + TEMP="" + printf -v TEMP "%s%s%d%%" "$status" "$warn" "$capacity"; unset warn + STATUS="$STATUS $TEMP" +done +echo "$STATUS" +return 0