This commit is contained in:
2026-07-26 01:38:44 -05:00
parent 53a6e91218
commit 4c6bd2320f
2 changed files with 31 additions and 4 deletions
+30 -3
View File
@@ -1682,13 +1682,17 @@ SELECT_MENU() {
local labels_name="$2"
local values_name="$3"
local allow_back="${4:-1}"
local allow_space="${5:-0}"
local initial_selected="${6:-0}"
local -n labels_ref="$labels_name"
local -n values_ref="$values_name"
local selected=0
local selected="$initial_selected"
local key
local sequence
local index
[[ "$selected" =~ ^[0-9]+$ ]] || selected=0
(( selected < ${#labels_ref[@]} )) || selected=0
while true; do
MENU_HEADER
echo
@@ -1704,12 +1708,18 @@ SELECT_MENU() {
done
echo
if (( allow_back == 1 )); then
if (( allow_back == 1 && allow_space == 1 )); then
echo " ↑/↓ Navigate Space Toggle Enter Select Number Quick Select ←/Esc/B Back Q Quit"
elif (( allow_back == 1 )); then
echo " ↑/↓ Navigate Enter Select Number Quick Select ←/Esc/B Back Q Quit"
elif (( allow_space == 1 )); then
echo " ↑/↓ Navigate Space Toggle Enter Select Number Quick Select Q Quit"
else
echo " ↑/↓ Navigate Enter Select Number Quick Select Q Quit"
fi
MENU_INPUT=""
MENU_SELECTED_INDEX="$selected"
key=""
if [[ "$UPDATE_STATUS" == "checking" ]]; then
IFS= read -rsn1 -t 1 key || continue
@@ -1718,12 +1728,23 @@ SELECT_MENU() {
fi
case "$key" in
"")
MENU_INPUT="enter"
MENU_SELECTION="${values_ref[$selected]}"
return 0
;;
" ")
if (( allow_space == 1 )); then
MENU_INPUT="space"
MENU_SELECTION="${values_ref[$selected]}"
return 0
fi
;;
[1-9])
index=$((10#$key - 1))
if (( index < ${#values_ref[@]} )); then
selected="$index"
MENU_SELECTED_INDEX="$selected"
MENU_INPUT="number"
MENU_SELECTION="${values_ref[$index]}"
return 0
fi
@@ -1907,6 +1928,7 @@ TAPM_POST_TOGGLE_FLAG() {
TAPM_POST_CUSTOMIZE() {
local -a labels
local -a values
local selected_index=0
TAPM_POST_DEFAULT_SELECTIONS
while true; do
@@ -1928,7 +1950,12 @@ TAPM_POST_CUSTOMIZE() {
utilities time panic limits journald logrotate memory network bbr pigz
apt_network apply
)
SELECT_MENU "Customize TAPM Host Profile" labels values
SELECT_MENU "Customize TAPM Host Profile" labels values 1 1 \
"$selected_index"
selected_index="$MENU_SELECTED_INDEX"
if [[ "$MENU_INPUT" == space && "$MENU_SELECTION" == apply ]]; then
continue
fi
case "$MENU_SELECTION" in
utilities) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_UTILITIES ;;
time) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_TIME ;;