From 8d3f3d19b98a6779333c249405879c74e916c483 Mon Sep 17 00:00:00 2001 From: Skladnayazebra Date: Fri, 7 Nov 2025 11:22:34 +0100 Subject: Improve battery indicator, add low level highlights --- tmux/battery.sh | 38 +++++++++++++++++++++++++------------- tmux/tmux.conf | 2 +- 2 files changed, 26 insertions(+), 14 deletions(-) (limited to 'tmux') 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 } diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 0b9d45f..8ffbe81 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -26,4 +26,4 @@ set-window-option -g window-status-current-format ' #I:#W ' bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" -set-window-option -g status-right "%H:%M %d-%b-%y #($HOME/.config/tmux/battery.sh) " +set-window-option -g status-right '%H:%M %d-%b-%y #($HOME/.config/tmux/battery.sh)' -- cgit v1.3.1