mirror of
https://github.com/Cametendo/MyI3Config-fork.git
synced 2026-03-18 03:40:20 +01:00
Improve app input prompt logic in install.sh
Enhance user prompt for application input with default handling and skip option.
This commit is contained in:
35
install.sh
35
install.sh
@@ -25,10 +25,34 @@ ask_app() {
|
|||||||
local label="$1"
|
local label="$1"
|
||||||
local default="$2"
|
local default="$2"
|
||||||
local app
|
local app
|
||||||
|
local first_run=true
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -rp "$label (default: $default): " app
|
if [ "$first_run" = true ]; then
|
||||||
app="${app:-$default}"
|
# First run: show the prompt with default
|
||||||
|
read -rp "$label (default: $default): " app
|
||||||
|
first_run=false
|
||||||
|
else
|
||||||
|
# Subsequent runs: show a simpler prompt
|
||||||
|
read -rp "Enter a different command or 'skip' to continue anyway: " app
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Handle empty input (use default on first run, empty on subsequent runs)
|
||||||
|
if [ -z "$app" ]; then
|
||||||
|
if [ "$first_run" = false ]; then
|
||||||
|
# User pressed Enter on retry - ask if they want to skip
|
||||||
|
echo " Press Enter again to skip, or type 'skip'"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
app="$default"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Allow user to skip validation
|
||||||
|
if [ "$app" = "skip" ]; then
|
||||||
|
echo " Using '$default' (not verified)"
|
||||||
|
echo "$default"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
# check if command exists
|
# check if command exists
|
||||||
if command -v "${app%% *}" >/dev/null 2>&1; then
|
if command -v "${app%% *}" >/dev/null 2>&1; then
|
||||||
@@ -36,7 +60,10 @@ ask_app() {
|
|||||||
return
|
return
|
||||||
else
|
else
|
||||||
echo "✗ '$app' not found in PATH"
|
echo "✗ '$app' not found in PATH"
|
||||||
echo " install it first or choose another"
|
if [ "$first_run" = true ]; then
|
||||||
|
echo " Install it with: sudo pacman -S ${app%% *}"
|
||||||
|
echo " Or choose a different application"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -205,4 +232,4 @@ if [ "$WM" = "sway" ]; then
|
|||||||
echo "Make sure to log out and select Sway from your display manager"
|
echo "Make sure to log out and select Sway from your display manager"
|
||||||
else
|
else
|
||||||
echo "For i3, reload with: Super + Shift + C"
|
echo "For i3, reload with: Super + Shift + C"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user