diff options
Diffstat (limited to 'pw-battery')
-rwxr-xr-x | pw-battery | 31 |
1 files changed, 20 insertions, 11 deletions
@@ -1,5 +1,6 @@ #!/bin/sh # Display the current battery status. +# requires joypixels font in dwm config.def.h notify() { dunstify \ @@ -9,10 +10,18 @@ notify() { "Battery" "$1" } + case "$BLOCK_BUTTON" in # ugly must do better - 1) notify "$(inxi -B --extra -c 0 -y 1 | sed -e 's/^[ \t]*//')" ;; - 3) notify "$(acpi -b | awk -F ': |, ' '{printf "%s\n%s\n", $2, $4}')" ;; + 1) + INF=$(inxi -B --extra 3 -c 0 -y 1) + REM=$(acpi | cut -d , -f 3) + DAT=$(echo "$INF$REM" | sed -e 's/^[ \t]*//') + notify "$DAT" + ;; + 3) + notify "$(acpi -b | awk -F ': |, ' '{printf "%s\n%s\n", $2, $4}')" + ;; esac # Loop through all attached batteries. @@ -22,30 +31,30 @@ for battery in /sys/class/power_supply/BAT?*; do capacity="$(cat "$battery/capacity" 2>&1)" if [ "$capacity" -gt 90 ]; then - status=" " + status="✅ " elif [ "$capacity" -gt 60 ]; then - status=" " + status="🔋 " elif [ "$capacity" -gt 40 ]; then - status=" " + status="🪫 " elif [ "$capacity" -gt 10 ]; then - status=" " + status="⚠️ " else - status=" " + status="❌ " fi case "$(cat "$battery/status" 2>&1)" in - Full) status=" " ;; + Full) status="⚡ " ;; Discharging) if [ "$capacity" -le 20 ]; then status="$status" color=1 fi ;; - Charging) status="$status" ;; - "Not charging") status=" " ;; + Charging) status="🔌$status" ;; + "Not charging") status="♻️" ;; Unknown) status="? $status" ;; *) exit 1 ;; esac - echo "| $status$capacity% |" + echo "┊ $status $capacity%" done |