diff options
| author | Skladnayazebra <skladnayazebra@gmail.com> | 2025-11-07 11:22:34 +0100 |
|---|---|---|
| committer | Skladnayazebra <skladnayazebra@gmail.com> | 2025-11-07 11:22:34 +0100 |
| commit | 8d3f3d19b98a6779333c249405879c74e916c483 (patch) | |
| tree | e74d82f5f92f0bad115cba6fe647eca882dd0834 /tmux/battery.sh | |
| parent | 10e12dc6af3e176e0ad6ede932ceea7b128de904 (diff) | |
Improve battery indicator, add low level highlights
Diffstat (limited to 'tmux/battery.sh')
| -rwxr-xr-x | tmux/battery.sh | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/tmux/battery.sh b/tmux/battery.sh index 26b3388..2cd1afb 100755 --- a/tmux/battery.sh +++ b/tmux/battery.sh @@ -1,17 +1,29 @@ round() { awk -v n=$1 -v d=$2 'BEGIN{print int((n+d/2)/d) * d}'; } upower -i /org/freedesktop/UPower/devices/DisplayDevice | awk '/percentage:/ {print $2}' | { - read s; - lvl=$(round "${s%%%}" 10); - if [ $lvl -eq "10" ]; then printf ""; fi - if [ $lvl -eq "20" ]; then printf ""; fi - if [ $lvl -eq "30" ]; then printf ""; fi - if [ $lvl -eq "40" ]; then printf ""; fi - if [ $lvl -eq "50" ]; then printf ""; fi - if [ $lvl -eq "60" ]; then printf ""; fi - if [ $lvl -eq "70" ]; then printf ""; fi - if [ $lvl -eq "80" ]; then printf ""; fi - if [ $lvl -eq "90" ]; then printf ""; fi - if [ $lvl -eq "100" ]; then printf ""; fi - printf " %.0f%%" "${s%%%}"; + read percentage_raw; # e.g. 69.420% + percentage_10s=$(round "${percentage_raw%%%}" 10); # rounded number: 70 + # when battery is low, highlight it + if [ $percentage_10s -le "10" ]; then + printf "#[bg=red,fg=brightwhite]"; + elif [ $percentage_10s -le "20" ]; then + printf "#[bg=brightyellow]"; + fi + printf " "; + # icon + if [ $percentage_10s -le "10" ]; then printf ""; fi + if [ $percentage_10s -eq "20" ]; then printf ""; fi + if [ $percentage_10s -eq "30" ]; then printf ""; fi + if [ $percentage_10s -eq "40" ]; then printf ""; fi + if [ $percentage_10s -eq "50" ]; then printf ""; fi + if [ $percentage_10s -eq "60" ]; then printf ""; fi + if [ $percentage_10s -eq "70" ]; then printf ""; fi + if [ $percentage_10s -eq "80" ]; then printf ""; fi + if [ $percentage_10s -eq "90" ]; then printf ""; fi + if [ $percentage_10s -eq "100" ]; then printf ""; fi + printf " "; + # percentage level rounded to a whole number (69%) + printf "%.0f%%" "${percentage_raw%%%}"; + printf " "; + printf "#[default]"; # reset style } |
