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

View File

@@ -230,10 +230,10 @@
} }
], ],
"seasonal_palettes": { "seasonal_palettes": {
"winter": { "Z1_BG": 61, "Z1_FG": 255, "Z2_BG": 37, "Z2_FG": 255, "PATH_FG": 194, "FRAME": 60 }, "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": 71, "Z1_FG": 255, "Z2_BG": 120, "Z2_FG": 22, "PATH_FG": 22, "FRAME": 65 }, "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": 142, "Z1_FG": 255, "Z2_BG": 214, "Z2_FG": 0, "PATH_FG": 232, "FRAME": 130 }, "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": 95, "Z1_FG": 255, "Z2_BG": 173, "Z2_FG": 255, "PATH_FG": 223, "FRAME": 95 } "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": [ "notes": [
"Palette values are 256-color codes.", "Palette values are 256-color codes.",

View File

@@ -386,8 +386,8 @@ _ps1_set_prompt() {
local RST="\[\e[0m\]" local RST="\[\e[0m\]"
# Seasonal palettes (Z1 is darker than Z2) # Seasonal palettes (Z1 is darker than Z2)
local Z1_BG Z1_FG Z2_BG Z2_FG PATH_FG FRAME local Z1_BG Z1_FG Z2_BG Z2_FG Z3_BG Z4_BG PATH_FG FRAME
local Z1_BG_CODE Z2_BG_CODE local Z1_BG_CODE Z2_BG_CODE Z3_BG_CODE Z4_BG_CODE
if [[ "$__PS1_STYLE_PACK" == "contest" ]]; then if [[ "$__PS1_STYLE_PACK" == "contest" ]]; then
Z1_BG_CODE=24 Z1_BG_CODE=24
Z2_BG_CODE=31 Z2_BG_CODE=31
@@ -466,6 +466,10 @@ _ps1_set_prompt() {
Z1_FG="\[\e[38;5;255m\]" Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]" Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;255m\]" 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\]" PATH_FG="\[\e[38;5;51m\]"
FRAME="\[\e[38;5;23m\]" FRAME="\[\e[38;5;23m\]"
;; ;;
@@ -473,43 +477,59 @@ _ps1_set_prompt() {
else else
case "$__PS1_SEASON" in case "$__PS1_SEASON" in
spring) spring)
Z1_BG_CODE=71 Z1_BG_CODE=70
Z2_BG_CODE=120 Z2_BG_CODE=71
Z3_BG_CODE=72
Z4_BG_CODE=120
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]" Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]" Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]" Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;22m\]" 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\]" PATH_FG="\[\e[38;5;22m\]"
FRAME="\[\e[38;5;65m\]" FRAME="\[\e[38;5;65m\]"
;; ;;
summer) summer)
Z1_BG_CODE=142 Z1_BG_CODE=141
Z2_BG_CODE=214 Z2_BG_CODE=142
Z3_BG_CODE=143
Z4_BG_CODE=214
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]" Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]" Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]" Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;0m\]" 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\]" PATH_FG="\[\e[38;5;232m\]"
FRAME="\[\e[38;5;130m\]" FRAME="\[\e[38;5;130m\]"
;; ;;
autumn) autumn)
Z1_BG_CODE=95 Z1_BG_CODE=94
Z2_BG_CODE=173 Z2_BG_CODE=95
Z3_BG_CODE=96
Z4_BG_CODE=173
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]" Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]" Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]" Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;255m\]" 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\]" PATH_FG="\[\e[38;5;223m\]"
FRAME="\[\e[38;5;95m\]" FRAME="\[\e[38;5;95m\]"
;; ;;
*) *)
# winter (default) # winter (default)
Z1_BG_CODE=61 Z1_BG_CODE=60
Z2_BG_CODE=37 Z2_BG_CODE=61
Z3_BG_CODE=62
Z4_BG_CODE=37
Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]" Z1_BG="\[\e[48;5;${Z1_BG_CODE}m\]"
Z1_FG="\[\e[38;5;255m\]" Z1_FG="\[\e[38;5;255m\]"
Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]" Z2_BG="\[\e[48;5;${Z2_BG_CODE}m\]"
Z2_FG="\[\e[38;5;255m\]" 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\]" PATH_FG="\[\e[38;5;194m\]"
FRAME="\[\e[38;5;60m\]" 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_RIGHT=""
A_SEP="" A_SEP=""
A_LEFT_FG="\[\e[38;5;${Z1_BG_CODE}m\]" 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 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}\ ${PREFIX}${FRAME}╭─${RST}\
${A_LEFT_FG}${A_LEFT}${RST}${Z1_BG}${Z1_FG} ${L1} ${RST}${Z1_BG}${Z2_BG}${Z2_FG}${A_SEP}${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}\ ${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}" \n${FRAME}╰── ${RST}${prompt_sym} ${__PS1_SYM}${git_tail}"
fi
;; ;;
esac esac
} }