Add layout order selection for seasonal prompts

This commit is contained in:
2026-01-24 16:15:28 +00:00
parent 9774c15d34
commit 98ae44cc3b
5 changed files with 68 additions and 8 deletions

View File

@@ -70,10 +70,38 @@ if [[ -t 0 ]]; then
esac
style_pack="standard"
contest_layout="day-time-user"
echo "Layout order:"
echo " 1) day-time-user"
echo " 2) user-time"
echo " 3) time-user"
echo " 4) day-time"
read -r -p "Choose [1]: " layout_pick
case "${layout_pick}" in
2) contest_layout="user-time" ;;
3) contest_layout="time-user" ;;
4) contest_layout="day-time" ;;
""|1) contest_layout="day-time-user" ;;
*) echo "Invalid choice, using day-time-user."; contest_layout="day-time-user" ;;
esac
;;
2)
season_mode="dynamic"
style_pack="standard"
contest_layout="day-time-user"
echo "Layout order:"
echo " 1) day-time-user"
echo " 2) user-time"
echo " 3) time-user"
echo " 4) day-time"
read -r -p "Choose [1]: " layout_pick
case "${layout_pick}" in
2) contest_layout="user-time" ;;
3) contest_layout="time-user" ;;
4) contest_layout="day-time" ;;
""|1) contest_layout="day-time-user" ;;
*) echo "Invalid choice, using day-time-user."; contest_layout="day-time-user" ;;
esac
;;
""|3)
season_mode="static"
@@ -284,7 +312,7 @@ if [[ "$install_ps1" -eq 1 ]]; then
{
printf 'PS1_STYLE=%s\n' "$style_choice"
printf 'PS1_STYLE_PACK=%s\n' "$style_pack"
if [[ "$style_pack" == "contest" || "$style_pack" == "holiday" ]]; then
if [[ "$style_pack" == "contest" || "$style_pack" == "holiday" || "$style_pack" == "standard" ]]; then
printf 'PS1_CONTEST_LAYOUT=%s\n' "$contest_layout"
fi
if [[ "$style_pack" == "holiday" ]]; then

View File

@@ -45,11 +45,39 @@ if [[ -t 0 ]]; then
*) echo "Invalid choice, using winter."; season_choice="winter" ;;
esac
style_pack="standard"
;;
style_pack="standard"
contest_layout="day-time-user"
echo "Layout order:"
echo " 1) day-time-user"
echo " 2) user-time"
echo " 3) time-user"
echo " 4) day-time"
read -r -p "Choose [1]: " layout_pick
case "${layout_pick}" in
2) contest_layout="user-time" ;;
3) contest_layout="time-user" ;;
4) contest_layout="day-time" ;;
""|1) contest_layout="day-time-user" ;;
*) echo "Invalid choice, using day-time-user."; contest_layout="day-time-user" ;;
esac
;;
2)
season_mode="dynamic"
style_pack="standard"
contest_layout="day-time-user"
echo "Layout order:"
echo " 1) day-time-user"
echo " 2) user-time"
echo " 3) time-user"
echo " 4) day-time"
read -r -p "Choose [1]: " layout_pick
case "${layout_pick}" in
2) contest_layout="user-time" ;;
3) contest_layout="time-user" ;;
4) contest_layout="day-time" ;;
""|1) contest_layout="day-time-user" ;;
*) echo "Invalid choice, using day-time-user."; contest_layout="day-time-user" ;;
esac
;;
""|3)
season_mode="static"
@@ -205,7 +233,7 @@ chmod 0644 "$SEASON_FILE"
{
printf 'PS1_STYLE=%s\n' "$style_choice"
printf 'PS1_STYLE_PACK=%s\n' "$style_pack"
if [[ "$style_pack" == "contest" || "$style_pack" == "holiday" ]]; then
if [[ "$style_pack" == "contest" || "$style_pack" == "holiday" || "$style_pack" == "standard" ]]; then
printf 'PS1_CONTEST_LAYOUT=%s\n' "$contest_layout"
fi
if [[ "$style_pack" == "holiday" ]]; then

View File

@@ -622,14 +622,16 @@ _ps1_set_prompt() {
local PATH_PART="${__PS1_PATH}"
local PATH_SEP=" "
local END_PAD=" "
if [[ "$__PS1_STYLE_PACK" == "contest" || "$__PS1_STYLE_PACK" == "holiday" ]]; then
local layout="${__PS1_CONTEST_LAYOUT:-day-time-user}"
local layout="${__PS1_CONTEST_LAYOUT:-day-time-user}"
if [[ "$__PS1_STYLE_PACK" == "contest" || "$__PS1_STYLE_PACK" == "holiday" || "$__PS1_STYLE_PACK" == "standard" ]]; then
case "$layout" in
user-time) L1="\\u \\A" ;;
time-user) L1="\\A \\u" ;;
day-time) L1="\\d \\A" ;;
*) L1="\\d \\A \\u" ;;
esac
fi
if [[ "$__PS1_STYLE_PACK" == "contest" || "$__PS1_STYLE_PACK" == "holiday" ]]; then
HOST_PART="@\\h - ${__PS1_PATH}"
PATH_PART=""
PATH_SEP=""