From 5372393211373c1601ad257bc6f85d5cc237f36c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 13 Sep 2025 17:40:19 +0200 Subject: [PATCH] Remove interdependencies and ordering issues --- install/helpers/all.sh | 4 +-- install/helpers/gum.sh | 18 ------------- install/helpers/layout.sh | 20 -------------- install/helpers/logo.sh | 8 ------ install/helpers/presentation.sh | 48 +++++++++++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 49 deletions(-) delete mode 100644 install/helpers/gum.sh delete mode 100644 install/helpers/layout.sh delete mode 100644 install/helpers/logo.sh create mode 100644 install/helpers/presentation.sh diff --git a/install/helpers/all.sh b/install/helpers/all.sh index 57f53fbc..0fc48100 100644 --- a/install/helpers/all.sh +++ b/install/helpers/all.sh @@ -1,6 +1,4 @@ source $OMARCHY_INSTALL/helpers/chroot.sh -source $OMARCHY_INSTALL/helpers/layout.sh -source $OMARCHY_INSTALL/helpers/logo.sh -source $OMARCHY_INSTALL/helpers/gum.sh +source $OMARCHY_INSTALL/helpers/presentation.sh source $OMARCHY_INSTALL/helpers/errors.sh source $OMARCHY_INSTALL/helpers/logging.sh diff --git a/install/helpers/gum.sh b/install/helpers/gum.sh deleted file mode 100644 index 34508e01..00000000 --- a/install/helpers/gum.sh +++ /dev/null @@ -1,18 +0,0 @@ -# Ensure we have gum available -if ! command -v gum &>/dev/null; then - sudo pacman -S --needed --noconfirm gum -fi - -# Tokyo Night theme for gum confirm -export GUM_CONFIRM_PROMPT_FOREGROUND="6" # Cyan for prompt -export GUM_CONFIRM_SELECTED_FOREGROUND="0" # Black text on selected -export GUM_CONFIRM_SELECTED_BACKGROUND="2" # Green background for selected -export GUM_CONFIRM_UNSELECTED_FOREGROUND="7" # White for unselected -export GUM_CONFIRM_UNSELECTED_BACKGROUND="0" # Black background for unselected -export PADDING="0 0 0 $PADDING_LEFT" # Gum Style -export GUM_CHOOSE_PADDING="$PADDING" -export GUM_FILTER_PADDING="$PADDING" -export GUM_INPUT_PADDING="$PADDING" -export GUM_SPIN_PADDING="$PADDING" -export GUM_TABLE_PADDING="$PADDING" -export GUM_CONFIRM_PADDING="$PADDING" diff --git a/install/helpers/layout.sh b/install/helpers/layout.sh deleted file mode 100644 index 63dba553..00000000 --- a/install/helpers/layout.sh +++ /dev/null @@ -1,20 +0,0 @@ -# Get terminal size from /dev/tty (works in all scenarios: direct, sourced, or piped) -if [ -e /dev/tty ]; then - TERM_SIZE=$(stty size 2>/dev/null max) max = length } END { print max+0 }' "$LOGO_PATH" 2>/dev/null || echo 0) -export LOGO_HEIGHT=$(wc -l <"$LOGO_PATH" 2>/dev/null || echo 0) - -clear_logo() { - printf "\033[H\033[2J" # Clear screen and move cursor to top-left - gum style --foreground 2 --padding "1 0 0 $PADDING_LEFT" "$(<"$LOGO_PATH")" -} diff --git a/install/helpers/presentation.sh b/install/helpers/presentation.sh new file mode 100644 index 00000000..70cab2e9 --- /dev/null +++ b/install/helpers/presentation.sh @@ -0,0 +1,48 @@ +# Ensure we have gum available +if ! command -v gum &>/dev/null; then + sudo pacman -S --needed --noconfirm gum +fi + +# Get terminal size from /dev/tty (works in all scenarios: direct, sourced, or piped) +if [ -e /dev/tty ]; then + TERM_SIZE=$(stty size 2>/dev/null max) max = length } END { print max+0 }' "$LOGO_PATH" 2>/dev/null || echo 0) +export LOGO_HEIGHT=$(wc -l <"$LOGO_PATH" 2>/dev/null || echo 0) + +export PADDING_LEFT=$((($TERM_WIDTH - $LOGO_WIDTH) / 2)) +export PADDING_LEFT_SPACES=$(printf "%*s" $PADDING_LEFT "") + +# Tokyo Night theme for gum confirm +export GUM_CONFIRM_PROMPT_FOREGROUND="6" # Cyan for prompt +export GUM_CONFIRM_SELECTED_FOREGROUND="0" # Black text on selected +export GUM_CONFIRM_SELECTED_BACKGROUND="2" # Green background for selected +export GUM_CONFIRM_UNSELECTED_FOREGROUND="7" # White for unselected +export GUM_CONFIRM_UNSELECTED_BACKGROUND="0" # Black background for unselected +export PADDING="0 0 0 $PADDING_LEFT" # Gum Style +export GUM_CHOOSE_PADDING="$PADDING" +export GUM_FILTER_PADDING="$PADDING" +export GUM_INPUT_PADDING="$PADDING" +export GUM_SPIN_PADDING="$PADDING" +export GUM_TABLE_PADDING="$PADDING" +export GUM_CONFIRM_PADDING="$PADDING" + +clear_logo() { + printf "\033[H\033[2J" # Clear screen and move cursor to top-left + gum style --foreground 2 --padding "1 0 0 $PADDING_LEFT" "$(<"$LOGO_PATH")" +}