Add four-segment seasonal gradients

This commit is contained in:
2026-01-24 14:45:15 +00:00
parent d7c08d5a4c
commit 7c4e99667c
3 changed files with 63 additions and 24 deletions

View File

@@ -95,33 +95,41 @@
},
"palettes": {
"winter": {
"Z1_BG": 61,
"Z1_BG": 60,
"Z2_BG": 61,
"Z3_BG": 62,
"Z4_BG": 37,
"Z1_FG": 255,
"Z2_BG": 37,
"Z2_FG": 255,
"PATH_FG": 194,
"FRAME": 60
},
"spring": {
"Z1_BG": 71,
"Z1_BG": 70,
"Z2_BG": 71,
"Z3_BG": 72,
"Z4_BG": 120,
"Z1_FG": 255,
"Z2_BG": 120,
"Z2_FG": 22,
"PATH_FG": 22,
"FRAME": 65
},
"summer": {
"Z1_BG": 142,
"Z1_BG": 141,
"Z2_BG": 142,
"Z3_BG": 143,
"Z4_BG": 214,
"Z1_FG": 255,
"Z2_BG": 214,
"Z2_FG": 0,
"PATH_FG": 232,
"FRAME": 130
},
"autumn": {
"Z1_BG": 95,
"Z1_BG": 94,
"Z2_BG": 95,
"Z3_BG": 96,
"Z4_BG": 173,
"Z1_FG": 255,
"Z2_BG": 173,
"Z2_FG": 255,
"PATH_FG": 223,
"FRAME": 95
@@ -418,6 +426,7 @@
"prompt_structure": {
"zone1": "date time user",
"zone2": "host path",
"seasonal_segments": "date | time | user | host+path (subtle seasonal gradient)",
"line2": "status arrow + emoji",
"emoji_padding": "Two spaces after the emoji before the cursor",
"path_shortening": "Keeps /home/user or /Users/user visible and shortens middle if deep.",

View File

@@ -230,10 +230,10 @@
}
],
"seasonal_palettes": {
"winter": { "Z1_BG": 61, "Z1_FG": 255, "Z2_BG": 37, "Z2_FG": 255, "PATH_FG": 194, "FRAME": 60 },
"spring": { "Z1_BG": 71, "Z1_FG": 255, "Z2_BG": 120, "Z2_FG": 22, "PATH_FG": 22, "FRAME": 65 },
"summer": { "Z1_BG": 142, "Z1_FG": 255, "Z2_BG": 214, "Z2_FG": 0, "PATH_FG": 232, "FRAME": 130 },
"autumn": { "Z1_BG": 95, "Z1_FG": 255, "Z2_BG": 173, "Z2_FG": 255, "PATH_FG": 223, "FRAME": 95 }
"winter": { "Z1_BG": 60, "Z2_BG": 61, "Z3_BG": 62, "Z4_BG": 37, "Z1_FG": 255, "Z2_FG": 255, "PATH_FG": 194, "FRAME": 60 },
"spring": { "Z1_BG": 70, "Z2_BG": 71, "Z3_BG": 72, "Z4_BG": 120, "Z1_FG": 255, "Z2_FG": 22, "PATH_FG": 22, "FRAME": 65 },
"summer": { "Z1_BG": 141, "Z2_BG": 142, "Z3_BG": 143, "Z4_BG": 214, "Z1_FG": 255, "Z2_FG": 0, "PATH_FG": 232, "FRAME": 130 },
"autumn": { "Z1_BG": 94, "Z2_BG": 95, "Z3_BG": 96, "Z4_BG": 173, "Z1_FG": 255, "Z2_FG": 255, "PATH_FG": 223, "FRAME": 95 }
},
"notes": [
"Palette values are 256-color codes.",

View File

@@ -386,8 +386,8 @@ _ps1_set_prompt() {
local RST="\[\e[0m\]"
# Seasonal palettes (Z1 is darker than Z2)
local Z1_BG Z1_FG Z2_BG Z2_FG PATH_FG FRAME
local Z1_BG_CODE Z2_BG_CODE
local Z1_BG Z1_FG Z2_BG Z2_FG Z3_BG Z4_BG PATH_FG FRAME
local Z1_BG_CODE Z2_BG_CODE Z3_BG_CODE Z4_BG_CODE
if [[ "$__PS1_STYLE_PACK" == "contest" ]]; then
Z1_BG_CODE=24
Z2_BG_CODE=31
@@ -466,6 +466,10 @@ _ps1_set_prompt() {
Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;255m\]"
Z3_BG_CODE="${Z2_BG_CODE}"
Z4_BG_CODE="${Z2_BG_CODE}"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
PATH_FG="\[\e[38;5;51m\]"
FRAME="\[\e[38;5;23m\]"
;;
@@ -473,43 +477,59 @@ _ps1_set_prompt() {
else
case "$__PS1_SEASON" in
spring)
Z1_BG_CODE=71
Z2_BG_CODE=120
Z1_BG_CODE=70
Z2_BG_CODE=71
Z3_BG_CODE=72
Z4_BG_CODE=120
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;22m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
PATH_FG="\[\e[38;5;22m\]"
FRAME="\[\e[38;5;65m\]"
;;
summer)
Z1_BG_CODE=142
Z2_BG_CODE=214
Z1_BG_CODE=141
Z2_BG_CODE=142
Z3_BG_CODE=143
Z4_BG_CODE=214
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;0m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
PATH_FG="\[\e[38;5;232m\]"
FRAME="\[\e[38;5;130m\]"
;;
autumn)
Z1_BG_CODE=95
Z2_BG_CODE=173
Z1_BG_CODE=94
Z2_BG_CODE=95
Z3_BG_CODE=96
Z4_BG_CODE=173
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;255m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
PATH_FG="\[\e[38;5;223m\]"
FRAME="\[\e[38;5;95m\]"
;;
*)
# winter (default)
Z1_BG_CODE=61
Z2_BG_CODE=37
Z1_BG_CODE=60
Z2_BG_CODE=61
Z3_BG_CODE=62
Z4_BG_CODE=37
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;255m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
PATH_FG="\[\e[38;5;194m\]"
FRAME="\[\e[38;5;60m\]"
;;
@@ -686,13 +706,23 @@ ${H_Z2_BG}${H_Z2_FG} ${HOST_PART}${PATH_SEP}${H_PATH_FG}${PATH_PART}${END_PAD}${
A_RIGHT=""
A_SEP=""
A_LEFT_FG="\[\e[38;5;${Z1_BG_CODE}m\]"
A_RIGHT_FG="\[\e[38;5;${Z2_BG_CODE}m\]"
A_RIGHT_FG="\[\e[38;5;${Z4_BG_CODE:-$Z2_BG_CODE}m\]"
fi
PS1="\
if [[ "$__PS1_STYLE_PACK" == "standard" && "$__PS1_USE_NF" -eq 1 ]]; then
local SEP12="\[\e[38;5;${Z2_BG_CODE}m\]\[\e[48;5;${Z1_BG_CODE}m\]${A_SEP}${RST}"
local SEP23="\[\e[38;5;${Z3_BG_CODE}m\]\[\e[48;5;${Z2_BG_CODE}m\]${A_SEP}${RST}"
local SEP34="\[\e[38;5;${Z4_BG_CODE}m\]\[\e[48;5;${Z3_BG_CODE}m\]${A_SEP}${RST}"
PS1="\
${PREFIX}${FRAME}╭─${RST}\
${A_LEFT_FG}${A_LEFT}${RST}${Z1_BG}${Z1_FG} \\d ${RST}${SEP12}${Z2_BG}${Z1_FG} \\A ${RST}${SEP23}${Z3_BG}${Z1_FG} \\u ${RST}${SEP34}${Z4_BG}${Z2_FG} ${HOST_PART}${PATH_SEP}${PATH_FG}${PATH_PART}${END_PAD}${RST}${A_RIGHT_FG}${A_RIGHT}${RST}\
\n${FRAME}╰── ${RST}${prompt_sym} ${__PS1_SYM}${git_tail}"
else
PS1="\
${PREFIX}${FRAME}╭─${RST}\
${A_LEFT_FG}${A_LEFT}${RST}${Z1_BG}${Z1_FG} ${L1} ${RST}${Z1_BG}${Z2_BG}${Z2_FG}${A_SEP}${RST}\
${Z2_BG}${Z2_FG} ${HOST_PART}${PATH_SEP}${PATH_FG}${PATH_PART}${END_PAD}${RST}${A_RIGHT_FG}${A_RIGHT}${RST}\
\n${FRAME}╰── ${RST}${prompt_sym} ${__PS1_SYM}${git_tail}"
fi
;;
esac
}