diff options
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 } |
