Option to display Intel package or cores temp (#54)

Implements #8
This commit is contained in:
Meliox 2024-06-16 13:17:12 +02:00 committed by GitHub
parent ba3991a3a2
commit 288a7f69e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -110,18 +110,38 @@ function configure {
msg "\nDetecting support for CPU temperature sensors..." msg "\nDetecting support for CPU temperature sensors..."
for item in "${KNOWN_CPU_SENSORS[@]}"; do for item in "${KNOWN_CPU_SENSORS[@]}"; do
if (echo "$sensorsOutput" | grep -q "$item"); then if (echo "$sensorsOutput" | grep -q "$item"); then
case "$item" in
"coretemp-"*)
# Intel CPU
# Set temperature search criteria
if (echo "$sensorsOutput" | grep -A 10 "$item" | grep -q "Core "); then
CPU_ADDRESS_PREFIX=$item CPU_ADDRESS_PREFIX=$item
fi
done
if [ -n "$CPU_ADDRESS_PREFIX" ]; then
msg "Detected sensors:\n$(echo "$sensorsOutput" | grep -o "\"${CPU_ADDRESS_PREFIX}[^\"]*\"" | sed 's/"//g')"
# Populate search criterias for known CPUs
if (echo "$sensorsOutput" | grep -q "coretemp-"); then
# Intel CPU
# Prompt user for which temperature to use
read -p "Do you wish to display temperatures for all cores [C] or just an average value(s) per CPU [a]? (C/a): " choice
case "$choice" in
# Set temperature search criteria
[cC]|"")
if (echo "$sensorsOutput" | grep -A 10 "coretemp-" | grep -q "Core "); then
CPU_ITEM_PREFIX="Core " CPU_ITEM_PREFIX="Core "
CPU_TEMP_CAPTION="Core" CPU_TEMP_CAPTION="Core"
fi fi
break
;; ;;
"k10temp-"*) [aA] )
if (echo "$sensorsOutput" | grep -A 10 "coretemp-" | grep -q "Package id "); then
CPU_ITEM_PREFIX="Package id"
CPU_TEMP_CAPTION="Package"
fi
;;
*)
# If the user enters an invalid input, print an error message and exit the script with a non-zero status code
err "Invalid input. Exiting..."
;;
esac
elif (echo "$sensorsOutput" | grep -q "k10temp-"); then
# AMD CPU # AMD CPU
# Find and set temperature search criteria # Find and set temperature search criteria
if (echo "$sensorsOutput" | grep -A 4 "$item" | grep -q -e "Tctl" -e "Tccd"); then if (echo "$sensorsOutput" | grep -A 4 "$item" | grep -q -e "Tctl" -e "Tccd"); then
@ -133,17 +153,7 @@ function configure {
CPU_ITEM_PREFIX="temp" CPU_ITEM_PREFIX="temp"
CPU_TEMP_CAPTION="Temp" CPU_TEMP_CAPTION="Temp"
fi fi
break
;;
*)
continue
;;
esac
fi fi
done
if [ -n "$CPU_ADDRESS_PREFIX" ]; then
msg "Detected sensors:\n$(echo "$sensorsOutput" | grep -o "\"${CPU_ADDRESS_PREFIX}[^\"]*\"" | sed 's/"//g')"
else else
# If cpu is not known, ask the user for input # If cpu is not known, ask the user for input
warn "Could not automatically detect the CPU temperature sensor. Please configure it manually." warn "Could not automatically detect the CPU temperature sensor. Please configure it manually."