#!/usr/bin/env bash CPU_TEMP=$(sensors | awk ' /^Tdie|^Package id|^Core 0|^CPU|^temp1/ { gsub(/[+°C]/, ""); for (i=1; i<=NF; i++) { if ($i ~ /^[0-9]+(\.[0-9]+)?$/) { gsub(/\..*/, "", $i); print $i; exit; } } }') # Debug CPU temperature detection, if not found, return N/A if [ -z "$CPU_TEMP" ]; then # Try simpler pattern as fallback CPU_TEMP=$(sensors | grep -E '^(Core 0|Package id 0|CPU)' | awk '{print $3}' | tr -d '+°C' | head -n1) fi [ -z "$CPU_TEMP" ] && CPU_TEMP="N/A" # Try different fan sensors FAN_SPEED=$(sensors | awk '/^fan|^cpu_fan/ {print $2}') [ -z "$FAN_SPEED" ] && FAN_SPEED="N/A" # Show warning icon if CPU temp is high case $CPU_TEMP in "N/A") COLOR="#d8dee9" && CPU_ICON="󰍛 ?" ;; [7-9][6-9]|[8-9][0-9]|100) COLOR="#bf616a" && CPU_ICON="" ;; # Greater than 75 [6][6-9]|7[0-5]) COLOR="#ebcb8b" && CPU_ICON="󰍛" ;; # Between 66 and 75 *) COLOR="#a3be8c" && CPU_ICON="󰍛" ;; # 65 or below esac # Send to bar echo " 󰈐 $FAN_SPEED   $CPU_TEMP°C" # Clicking on bar case $BLOCK_BUTTON in 1) notify-send "$(sensors)";; 2) notify-send "button 2 clicked";; 3) notify-send "button 3 clicked";; esac