You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.1 KiB
Bash

#!/bin/bash
ICON_BLUETOOTH=""
ICON_BATTERY_FULL=" "
ICON_BATTERY_THREE_QUARTERS=" "
ICON_BATTERY_HALF=" "
ICON_BATTERY_QUARTER=" "
ICON_BATTERY_EMPTY=" "
BLUETOOTH_BATTERY_STATUS=~/.config/waybar/scripts/bt-bat-status.sh
tooltip=""
statuses="$($BLUETOOTH_BATTERY_STATUS)"
if [[ $? != 0 ]]; then
exit 1
fi
n=0
sum=0
IFS=$'\n'
for status in $statuses; do
uuid=$(echo "$status" | cut -d' ' -f1)
name=$(bluetoothctl info "$uuid" | grep -oe 'Name: .*' | awk 'match($0, "Name: (.*)", m){print m[1]}')
percent=$(echo "$status" | cut -d' ' -f2 | grep -oe '[0-9]*')
tooltip="$tooltip$name: $percent%\n"
n=$((n+1))
sum=$((sum+percent))
done
IFS=' '
avg=$((sum / n))
ICON_BATTERY=""
if [[ $avg -ge 90 ]]; then
ICON_BATTERY=$ICON_BATTERY_FULL
elif [[ $avg -ge 75 ]]; then
ICON_BATTERY=$ICON_BATTERY_THREE_QUARTERS
elif [[ $avg -ge 50 ]]; then
ICON_BATTERY=$ICON_BATTERY_HALF
elif [[ $avg -ge 25 ]]; then
ICON_BATTERY=$ICON_BATTERY_QUARTER
else
ICON_BATTERY=$ICON_BATTERY_EMPTY
fi
tooltip=${tooltip%\\n}
echo "{\"text\": \"$ICON_BLUETOOTH $ICON_BATTERY\", \"tooltip\": \"$tooltip\"}"