From: Christian Heller Date: Wed, 12 Mar 2025 06:38:58 +0000 (+0100) Subject: Minor improvements. X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/static/%7B%7Bprefix%7D%7D/ledger2?a=commitdiff_plain;h=759daad94f8fc98b9078227e896bc0293fcd5070;p=config Minor improvements. --- diff --git a/testing/home/t490s/.nonpath_bins/status.sh b/testing/home/t490s/.nonpath_bins/status.sh index 8b532f7..180aa39 100755 --- a/testing/home/t490s/.nonpath_bins/status.sh +++ b/testing/home/t490s/.nonpath_bins/status.sh @@ -1,22 +1,34 @@ #!/bin/sh # see sway-bar(5) and swaybar-protocol(7) -KILO=1000 COL_WHITE=ffffff +COL_RED=ff0000 COL_YELLOW=ffff00 COL_GREEN=00ff00 COL_GREY=aaaaaa - -BAT_DIR=/sys/class/power_supply/BAT0 +SYSCLASS_DIR=/sys/class print_bar_element() { - printf '{"full_text": "%s", "separator_block_width": %d, "color": "%s"},\n' "$1" "$2" "$3" + if [ -z "$3" ]; then + SEP_WIDTH=20 + else + SEP_WIDTH="$3" + fi + if [ -z "$2" ]; then + COLOR="${COL_WHITE}" + else + COLOR="$2" + fi + printf '{"full_text": "%s", ' "$1" + printf '"color": "%s", ', "${COLOR}" + printf '"separator_block_width": %d},\n' "${SEP_WIDTH}" } print_online() { - print_bar_element "$(ip -4 addr show scope global | grep -oP '(?<=inet\s)\d+(\.\d+){3}')" 20 "${COL_WHITE}" + print_bar_element "$(ip -4 addr show scope global | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -1)" } print_battery() { + BAT_DIR="${SYSCLASS_DIR}/power_supply/BAT0" COLOR="${COL_WHITE}" STATUS=$(cat "${BAT_DIR}/status") CHARGING=? @@ -29,18 +41,34 @@ print_battery() { CHARGING=v COLOR="${COL_YELLOW}" fi - NOW=$(printf "%d" $(calc "100 * $(cat ${BAT_DIR}/energy_now) // $(cat ${BAT_DIR}/energy_full)")) - MAX=$(printf "%d" $(calc "100 * $(cat ${BAT_DIR}/energy_full) // $(cat ${BAT_DIR}/energy_full_design)")) - print_bar_element "${NOW}${CHARGING}${MAX}" 20 "${COLOR}" + percent_of() { + printf "%d" $(calc "100 * $(cat $1) // $(cat $2)") + } + NOW=$(percent_of "${BAT_DIR}/energy_now" "${BAT_DIR}/energy_full") + MAX=$(percent_of "${BAT_DIR}/energy_full" "${BAT_DIR}/energy_full_design") + if [ $NOW -lt 25 ]; then + COLOR="${COL_RED}" + fi + print_bar_element "${NOW}${CHARGING}${MAX}" "${COLOR}" } print_temperature() { - print_bar_element $(calc "$(cat /sys/class/thermal/thermal_zone0/temp) // ${KILO}")'°C' 20 "${COL_WHITE}" + COLOR="${COL_WHITE}" + TEMPERATURE=$(cat ${SYSCLASS_DIR}/thermal/thermal_zone0/temp) + TEMPERATURE_IN_C=$(calc "${TEMPERATURE} // 1000") + if [ $TEMPERATURE -gt 85 ]; then + COLOR="${COL_RED}" + elif [ $TEMPERATURE -gt 65 ]; then + COLOR="${COL_YELLOW}" + fi + print_bar_element "${TEMPERATURE_IN_C}°C" "${COLOR}" } print_datetime() { - print_bar_element "$(date +'%Y-%m-%d')" 10 "${COL_GREY}" - print_bar_element "$(date +'%H:%M:%S/%Z')" 0 "${COL_WHITE}" + DATE=$(date +'%Y-%m-%d') + TIME=$(date +'%H:%M:%S/%Z') + print_bar_element "${DATE}" "${COL_GREY}" 10 + print_bar_element "${TIME}" } printf '{"version": 1}\n['