Compare commits

..

6 Commits

Author SHA1 Message Date
865e351171 Expand README for dynamic season and git/emoji notes 2026-01-24 15:10:10 +00:00
f22f319af4 Clarify dynamic season prompt 2026-01-24 15:07:10 +00:00
a57c5d355d Darken seasonal path background 2026-01-24 15:01:23 +00:00
e4c41a8fb1 Darken seasonal path text 2026-01-24 14:55:09 +00:00
27fe9ee246 Tune seasonal gradient contrast 2026-01-24 14:51:38 +00:00
7c4e99667c Add four-segment seasonal gradients 2026-01-24 14:45:15 +00:00
6 changed files with 106 additions and 33 deletions

View File

@@ -95,33 +95,45 @@
},
"palettes": {
"winter": {
"Z1_BG": 61,
"Z1_BG": 59,
"Z2_BG": 61,
"Z3_BG": 63,
"Z4_BG": 38,
"Z5_BG": 37,
"Z1_FG": 255,
"Z2_BG": 37,
"Z2_FG": 255,
"PATH_FG": 194,
"PATH_FG": 152,
"FRAME": 60
},
"spring": {
"Z1_BG": 71,
"Z1_BG": 68,
"Z2_BG": 70,
"Z3_BG": 72,
"Z4_BG": 121,
"Z5_BG": 120,
"Z1_FG": 255,
"Z2_BG": 120,
"Z2_FG": 22,
"PATH_FG": 22,
"PATH_FG": 28,
"FRAME": 65
},
"summer": {
"Z1_BG": 142,
"Z1_BG": 141,
"Z2_BG": 142,
"Z3_BG": 143,
"Z4_BG": 214,
"Z5_BG": 208,
"Z1_FG": 255,
"Z2_BG": 214,
"Z2_FG": 0,
"PATH_FG": 232,
"PATH_FG": 0,
"FRAME": 130
},
"autumn": {
"Z1_BG": 95,
"Z1_BG": 93,
"Z2_BG": 95,
"Z3_BG": 97,
"Z4_BG": 166,
"Z5_BG": 136,
"Z1_FG": 255,
"Z2_BG": 173,
"Z2_FG": 255,
"PATH_FG": 223,
"FRAME": 95
@@ -418,6 +430,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

@@ -85,10 +85,12 @@ Linux/WSL:
- PS1 only / Banner only / Both
- PS1 modes: Single season, Dynamic season, Contest pack, Holidays pack
- Dynamic season auto-switches by time of year (Spring: MarMay, Summer: JunAug, Autumn: SepNov 14, Winter: Nov 15Feb)
macOS:
- PS1 modes: Single season, Dynamic season, Contest pack, Holidays pack
- Dynamic season auto-switches by time of year (same ranges as Linux)
</details>
---
@@ -183,7 +185,12 @@ The Git theme adds a repo-aware capsule on line 2 that only appears inside a Git
- Untracked: 🧷
- Stashed: 📦
It uses the same two-block layout as Aurora, but focuses on signal and minimal noise for fast scanning.
It uses the same two-block layout as Aurora, but focuses on signal and minimal noise for fast scanning. Use it when you want repo status on every command without a full VCS prompt.
Git capsule switch:
- `PS1_GIT=1` enables the git capsule on all themes
- Git theme always shows it, regardless of `PS1_GIT`
</details>
---
@@ -212,6 +219,18 @@ Seasonal sets (sunrise / work):
- Summer: 🌞 🏖️ 🌅 🌤 / 🏄 🏖️ 🚤 🌴
- Autumn: 🍁 🍂 🌫️ 🌦️ / 🍂 🍄 🎃 🪵
- Winter: 🏔️ 🌨️ ❄️ 🌌 / 🎿 ⛷️ 🏂 🧊
Time slots:
- Sunrise: 05:0008:59
- Coffee: 09:0010:59
- Work: 11:3015:59 (unless lunch overrides)
- Evening: 17:0022:59
- Night: 23:0004:59
Meaning:
- Emoji is a light accent for time/season; it never replaces core info
</details>
---

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": 59, "Z2_BG": 61, "Z3_BG": 63, "Z4_BG": 38, "Z5_BG": 37, "Z1_FG": 255, "Z2_FG": 255, "PATH_FG": 152, "FRAME": 60 },
"spring": { "Z1_BG": 68, "Z2_BG": 70, "Z3_BG": 72, "Z4_BG": 121, "Z5_BG": 120, "Z1_FG": 255, "Z2_FG": 22, "PATH_FG": 28, "FRAME": 65 },
"summer": { "Z1_BG": 141, "Z2_BG": 142, "Z3_BG": 143, "Z4_BG": 214, "Z5_BG": 208, "Z1_FG": 255, "Z2_FG": 0, "PATH_FG": 0, "FRAME": 130 },
"autumn": { "Z1_BG": 93, "Z2_BG": 95, "Z3_BG": 97, "Z4_BG": 166, "Z5_BG": 136, "Z1_FG": 255, "Z2_FG": 255, "PATH_FG": 223, "FRAME": 95 }
},
"notes": [
"Palette values are 256-color codes.",

View File

@@ -47,7 +47,7 @@ if [[ -t 0 ]]; then
echo
echo "PS1 mode:"
echo " 1) Single season (static)"
echo " 2) Dynamic season (changing)"
echo " 2) Dynamic season (auto, shifts with the year)"
echo " 3) Contest pack (static)"
echo " 4) Holidays pack (static)"
read -r -p "Choose [3]: " season_mode_choice

View File

@@ -23,7 +23,7 @@ if [[ -t 0 ]]; then
style_pack="standard"
echo "PS1 mode:"
echo " 1) Single season (static)"
echo " 2) Dynamic season (changing)"
echo " 2) Dynamic season (auto, shifts with the year)"
echo " 3) Contest pack (static)"
echo " 4) Holidays pack (static)"
read -r -p "Choose [3]: " season_mode_choice

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 Z5_BG PATH_FG FRAME
local Z1_BG_CODE Z2_BG_CODE Z3_BG_CODE Z4_BG_CODE Z5_BG_CODE
if [[ "$__PS1_STYLE_PACK" == "contest" ]]; then
Z1_BG_CODE=24
Z2_BG_CODE=31
@@ -466,6 +466,12 @@ _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}"
Z5_BG_CODE="${Z2_BG_CODE}"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
Z5_BG="\[\e[48;5;${Z5_BG_CODE}m\]"
PATH_FG="\[\e[38;5;51m\]"
FRAME="\[\e[38;5;23m\]"
;;
@@ -473,44 +479,68 @@ _ps1_set_prompt() {
else
case "$__PS1_SEASON" in
spring)
Z1_BG_CODE=71
Z2_BG_CODE=120
Z1_BG_CODE=68
Z2_BG_CODE=70
Z3_BG_CODE=72
Z4_BG_CODE=121
Z5_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\]"
PATH_FG="\[\e[38;5;22m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
Z5_BG="\[\e[48;5;${Z5_BG_CODE}m\]"
PATH_FG="\[\e[38;5;28m\]"
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
Z5_BG_CODE=208
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\]"
PATH_FG="\[\e[38;5;232m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
Z5_BG="\[\e[48;5;${Z5_BG_CODE}m\]"
PATH_FG="\[\e[38;5;0m\]"
FRAME="\[\e[38;5;130m\]"
;;
autumn)
Z1_BG_CODE=95
Z2_BG_CODE=173
Z1_BG_CODE=93
Z2_BG_CODE=95
Z3_BG_CODE=97
Z4_BG_CODE=166
Z5_BG_CODE=136
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\]"
Z5_BG="\[\e[48;5;${Z5_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=59
Z2_BG_CODE=61
Z3_BG_CODE=63
Z4_BG_CODE=38
Z5_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\]"
PATH_FG="\[\e[38;5;194m\]"
Z3_BG="\[\e[48;5;${Z3_BG_CODE}m\]"
Z4_BG="\[\e[48;5;${Z4_BG_CODE}m\]"
Z5_BG="\[\e[48;5;${Z5_BG_CODE}m\]"
PATH_FG="\[\e[38;5;152m\]"
FRAME="\[\e[38;5;60m\]"
;;
esac
@@ -686,13 +716,24 @@ ${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;${Z5_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}"
local SEP45="\[\e[38;5;${Z5_BG_CODE}m\]\[\e[48;5;${Z4_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} ${L_HOST} ${RST}${SEP45}${Z5_BG}${PATH_FG} ${__PS1_PATH}${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
}