Implement function ask for prompts

This commit is contained in:
rmm 2024-06-16 14:05:25 +02:00
parent 94acafdc85
commit 77a6df7092

View File

@ -58,6 +58,12 @@ function err {
echo -e "\e[0;31m[error] $1\e[0m" echo -e "\e[0;31m[error] $1\e[0m"
exit 1 exit 1
} }
function ask {
read -p $'\n\e[0;32m'"$1:"$'\e[0m'" " response
echo $response
}
# End of helper functions # End of helper functions
# Function to display usage information # Function to display usage information
@ -71,7 +77,7 @@ function install_packages {
# Check if the 'sensors' command is available on the system # Check if the 'sensors' command is available on the system
if (! command -v sensors &>/dev/null); then if (! command -v sensors &>/dev/null); then
# If the 'sensors' command is not available, prompt the user to install lm-sensors # If the 'sensors' command is not available, prompt the user to install lm-sensors
read -p "lm-sensors is not installed. Would you like to install it? (y/n) " choice local choice=$(ask "lm-sensors is not installed. Would you like to install it? (y/n)")
case "$choice" in case "$choice" in
[yY]) [yY])
# If the user chooses to install lm-sensors, update the package list and install the package # If the user chooses to install lm-sensors, update the package list and install the package
@ -121,19 +127,21 @@ function configure {
if (echo "$sensorsOutput" | grep -q "coretemp-"); then if (echo "$sensorsOutput" | grep -q "coretemp-"); then
# Intel CPU # Intel CPU
# Prompt user for which temperature to use # 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 choice=$(ask "Do you wish to display temperatures for all cores [C] or just an average temperature per CPU [a]? (C/a)")
case "$choice" in case "$choice" in
# Set temperature search criteria # Set temperature search criteria
[cC]|"") [cC] | "")
if (echo "$sensorsOutput" | grep -A 10 "coretemp-" | grep -q "Core "); then 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"
info "Temperatures will be displayed for all cores."
fi fi
;; ;;
[aA] ) [aA])
if (echo "$sensorsOutput" | grep -A 10 "coretemp-" | grep -q "Package id "); then if (echo "$sensorsOutput" | grep -A 10 "coretemp-" | grep -q "Package id "); then
CPU_ITEM_PREFIX="Package id" CPU_ITEM_PREFIX="Package id"
CPU_TEMP_CAPTION="Package" CPU_TEMP_CAPTION="Package"
info "An average temperature will be displayed per CPU."
fi fi
;; ;;
*) *)
@ -216,9 +224,7 @@ function configure {
fi fi
if [ $sensorsDetected = true ]; then if [ $sensorsDetected = true ]; then
echo TEMP_UNIT=$(ask "Do you wish to display temperatures in degrees Celsius [C] or Fahrenheit [f]? (C/f)")
read -p "Do you wish to display temperature readings in degrees Celsius [C] or Fahrenheit [f]? (C/f): " TEMP_UNIT
case "$TEMP_UNIT" in case "$TEMP_UNIT" in
[cC] | "") [cC] | "")
TEMP_UNIT="C" TEMP_UNIT="C"
@ -235,8 +241,7 @@ function configure {
esac esac
fi fi
echo ENABLE_SYS_INFO=$(ask "Do you wish to enable system information? (Y/n)")
read -p "Do you wish to enable system information? (Y/n): " ENABLE_SYS_INFO
case "$ENABLE_SYS_INFO" in case "$ENABLE_SYS_INFO" in
[yY] | "") [yY] | "")
enableSystemInfo=true enableSystemInfo=true
@ -824,7 +829,7 @@ function save_sensors_data {
msg "Sensors data will be saved in $filepath" msg "Sensors data will be saved in $filepath"
# Prompt user for confirmation # Prompt user for confirmation
read -p "Do you wish to continue? (y/n): " choice local choice=$(ask "Do you wish to continue? (y/n)")
case "$choice" in case "$choice" in
[yY]) [yY])
sensors -j >"$filepath" sensors -j >"$filepath"