Compare commits
2 Commits
16a7d8dad9
...
3f9bc8f9fa
| Author | SHA1 | Date | |
|---|---|---|---|
| 3f9bc8f9fa | |||
| ae66cbc70e |
@@ -224,6 +224,13 @@
|
||||
"layout": "two-line, segmented gradient",
|
||||
"preview": "[date time user] @host - /path"
|
||||
},
|
||||
{
|
||||
"id": "demo",
|
||||
"name": "Demo",
|
||||
"description": "Cycles through all styles each prompt.",
|
||||
"layout": "two-line, auto-rotate",
|
||||
"preview": "(auto-rotate)"
|
||||
},
|
||||
{
|
||||
"id": "radar",
|
||||
"name": "Radar",
|
||||
@@ -275,7 +282,7 @@
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"env": "PS1_STYLE=aurora|neon|forge|circuit|mono|git|hawolex|hawolexv2|radar|synthwave|noir|topo|glitch|arcticfire|acidlime; PS1_STYLE_PACK=standard|contest|holiday|custom; PS1_CONTEST_LAYOUT=day-time-user|user-time|time-user|day-time; PS1_HOLIDAY=christmas|easter|halloween|valentine|thanksgiving|newyear; PS1_GIT=0|1",
|
||||
"env": "PS1_STYLE=aurora|neon|forge|circuit|mono|git|hawolex|hawolexv2|radar|synthwave|noir|topo|glitch|arcticfire|acidlime|demo; PS1_STYLE_PACK=standard|contest|holiday|custom; PS1_CONTEST_LAYOUT=day-time-user|user-time|time-user|day-time; PS1_HOLIDAY=christmas|easter|halloween|valentine|thanksgiving|newyear; PS1_GIT=0|1",
|
||||
"config_file_keys": [
|
||||
"PS1_STYLE",
|
||||
"PS1_STYLE_PACK",
|
||||
|
||||
@@ -216,6 +216,8 @@ Seven extra styles, built to be loud and expressive:
|
||||
- AcidLime: black + electric green
|
||||
|
||||
Custom styles add a small context badge when relevant (`ssh`, `ctr`, `git`).
|
||||
|
||||
Demo mode (screenshots): choose "Demo" to auto-cycle through all themes on each prompt.
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
@@ -302,6 +302,20 @@
|
||||
},
|
||||
"preview": "[date time user] @host - /path"
|
||||
},
|
||||
{
|
||||
"id": "demo",
|
||||
"name": "Demo",
|
||||
"tagline": "Auto-rotate all themes",
|
||||
"description": "Cycles through all themes each prompt for rapid screenshots.",
|
||||
"layout": {
|
||||
"line1": "auto",
|
||||
"line2": "auto"
|
||||
},
|
||||
"colors": {
|
||||
"note": "Uses each theme's native palette"
|
||||
},
|
||||
"preview": "(auto-rotate)"
|
||||
},
|
||||
{
|
||||
"id": "radar",
|
||||
"name": "Radar",
|
||||
|
||||
@@ -171,33 +171,36 @@ if [[ -t 0 ]]; then
|
||||
if [[ "$style_pack" == "contest" ]]; then
|
||||
echo
|
||||
echo "Style presets:"
|
||||
echo " 1) Aurora - Powerline blocks, seasonal palette, two-line"
|
||||
echo " 1) Demo - Cycles all themes every prompt"
|
||||
echo " Preview: (auto-rotate)"
|
||||
echo " 2) Aurora - Powerline blocks, seasonal palette, two-line"
|
||||
echo " Preview: [date time user] > [@host /path]"
|
||||
echo " 2) Neon - Magenta/cyan cyber blocks, high contrast"
|
||||
echo " 3) Neon - Magenta/cyan cyber blocks, high contrast"
|
||||
echo " Preview: [user time] > [@host /path]"
|
||||
echo " 3) Forge - Warm copper blocks, heavy frame"
|
||||
echo " 4) Forge - Warm copper blocks, heavy frame"
|
||||
echo " Preview: [date time user] > [@host /path]"
|
||||
echo " 4) Circuit - Green scanline, minimal rails"
|
||||
echo " 5) Circuit - Green scanline, minimal rails"
|
||||
echo " Preview: [user time] - @host /path"
|
||||
echo " 5) Mono - Clean monochrome, fast read"
|
||||
echo " 6) Mono - Clean monochrome, fast read"
|
||||
echo " Preview: [date time user] @host /path"
|
||||
echo " 6) Git - Minimal with git capsule"
|
||||
echo " 7) Git - Minimal with git capsule"
|
||||
echo " Preview: [date time user] @host - /path (git)"
|
||||
echo " 7) Hawolex - Winter neon, tech icons"
|
||||
echo " 8) Hawolex - Winter neon, tech icons"
|
||||
echo " Preview: [date time user] @host - /path"
|
||||
echo " 8) HawolexV2 - Winter neon gradient"
|
||||
echo " 9) HawolexV2 - Winter neon gradient"
|
||||
echo " Preview: [date time user] @host - /path"
|
||||
read -r -p "Choose style [1]: " style_pick
|
||||
case "${style_pick}" in
|
||||
2) style_choice="neon" ;;
|
||||
3) style_choice="forge" ;;
|
||||
4) style_choice="circuit" ;;
|
||||
5) style_choice="mono" ;;
|
||||
6) style_choice="git" ;;
|
||||
7) style_choice="hawolex" ;;
|
||||
8) style_choice="hawolexv2" ;;
|
||||
""|1) style_choice="aurora" ;;
|
||||
*) echo "Invalid choice, using aurora."; style_choice="aurora" ;;
|
||||
2) style_choice="aurora" ;;
|
||||
3) style_choice="neon" ;;
|
||||
4) style_choice="forge" ;;
|
||||
5) style_choice="circuit" ;;
|
||||
6) style_choice="mono" ;;
|
||||
7) style_choice="git" ;;
|
||||
8) style_choice="hawolex" ;;
|
||||
9) style_choice="hawolexv2" ;;
|
||||
""|1) style_choice="demo" ;;
|
||||
*) echo "Invalid choice, using demo."; style_choice="demo" ;;
|
||||
esac
|
||||
|
||||
elif [[ "$style_pack" == "custom" ]]; then
|
||||
|
||||
@@ -147,33 +147,36 @@ if [[ -t 0 ]]; then
|
||||
if [[ "$style_pack" == "contest" ]]; then
|
||||
echo
|
||||
echo "Style presets:"
|
||||
echo " 1) Aurora - Powerline blocks, seasonal palette, two-line"
|
||||
echo " 1) Demo - Cycles all themes every prompt"
|
||||
echo " Preview: (auto-rotate)"
|
||||
echo " 2) Aurora - Powerline blocks, seasonal palette, two-line"
|
||||
echo " Preview: [date time user] > [@host /path]"
|
||||
echo " 2) Neon - Magenta/cyan cyber blocks, high contrast"
|
||||
echo " 3) Neon - Magenta/cyan cyber blocks, high contrast"
|
||||
echo " Preview: [user time] > [@host /path]"
|
||||
echo " 3) Forge - Warm copper blocks, heavy frame"
|
||||
echo " 4) Forge - Warm copper blocks, heavy frame"
|
||||
echo " Preview: [date time user] > [@host /path]"
|
||||
echo " 4) Circuit - Green scanline, minimal rails"
|
||||
echo " 5) Circuit - Green scanline, minimal rails"
|
||||
echo " Preview: [user time] - @host /path"
|
||||
echo " 5) Mono - Clean monochrome, fast read"
|
||||
echo " 6) Mono - Clean monochrome, fast read"
|
||||
echo " Preview: [date time user] @host /path"
|
||||
echo " 6) Git - Minimal with git capsule"
|
||||
echo " 7) Git - Minimal with git capsule"
|
||||
echo " Preview: [date time user] @host - /path (git)"
|
||||
echo " 7) Hawolex - Winter neon, tech icons"
|
||||
echo " 8) Hawolex - Winter neon, tech icons"
|
||||
echo " Preview: [date time user] @host - /path"
|
||||
echo " 8) HawolexV2 - Winter neon gradient"
|
||||
echo " 9) HawolexV2 - Winter neon gradient"
|
||||
echo " Preview: [date time user] @host - /path"
|
||||
read -r -p "Choose style [1]: " style_pick
|
||||
case "${style_pick}" in
|
||||
2) style_choice="neon" ;;
|
||||
3) style_choice="forge" ;;
|
||||
4) style_choice="circuit" ;;
|
||||
5) style_choice="mono" ;;
|
||||
6) style_choice="git" ;;
|
||||
7) style_choice="hawolex" ;;
|
||||
8) style_choice="hawolexv2" ;;
|
||||
""|1) style_choice="aurora" ;;
|
||||
*) echo "Invalid choice, using aurora."; style_choice="aurora" ;;
|
||||
2) style_choice="aurora" ;;
|
||||
3) style_choice="neon" ;;
|
||||
4) style_choice="forge" ;;
|
||||
5) style_choice="circuit" ;;
|
||||
6) style_choice="mono" ;;
|
||||
7) style_choice="git" ;;
|
||||
8) style_choice="hawolex" ;;
|
||||
9) style_choice="hawolexv2" ;;
|
||||
""|1) style_choice="demo" ;;
|
||||
*) echo "Invalid choice, using demo."; style_choice="demo" ;;
|
||||
esac
|
||||
|
||||
elif [[ "$style_pack" == "custom" ]]; then
|
||||
|
||||
@@ -90,7 +90,7 @@ _ps1_season() {
|
||||
}
|
||||
|
||||
# Style selection (aurora/neon/forge/circuit/mono/git/hawolex + custom pack)
|
||||
# PS1_STYLE=aurora|neon|forge|circuit|mono|git|hawolex|hawolexv2|radar|synthwave|noir|topo|glitch|arcticfire|acidlime
|
||||
# PS1_STYLE=aurora|neon|forge|circuit|mono|git|hawolex|hawolexv2|radar|synthwave|noir|topo|glitch|arcticfire|acidlime|demo
|
||||
# PS1_STYLE_PACK=standard|contest|holiday|custom
|
||||
# PS1_CONTEST_LAYOUT=day-time-user|user-time|time-user|day-time
|
||||
# PS1_HOLIDAY=christmas|easter|halloween|valentine|thanksgiving|newyear
|
||||
@@ -211,6 +211,31 @@ _ps1_path_topo() {
|
||||
printf "%s" "$out"
|
||||
}
|
||||
|
||||
_ps1_demo_next() {
|
||||
local styles=(
|
||||
"aurora" "neon" "forge" "circuit" "mono" "git" "hawolex" "hawolexv2"
|
||||
"aurora" "aurora" "aurora" "aurora" "aurora" "aurora"
|
||||
"radar" "synthwave" "noir" "topo" "glitch" "arcticfire" "acidlime"
|
||||
)
|
||||
local packs=(
|
||||
"standard" "contest" "contest" "contest" "contest" "contest" "contest" "contest"
|
||||
"holiday" "holiday" "holiday" "holiday" "holiday" "holiday"
|
||||
"custom" "custom" "custom" "custom" "custom" "custom" "custom"
|
||||
)
|
||||
local holidays=(
|
||||
"" "" "" "" "" "" "" ""
|
||||
"christmas" "easter" "halloween" "valentine" "thanksgiving" "newyear"
|
||||
"" "" "" "" "" "" ""
|
||||
)
|
||||
local count=${#styles[@]}
|
||||
local idx="${PS1_DEMO_INDEX:--1}"
|
||||
idx=$(( (idx + 1) % count ))
|
||||
PS1_DEMO_INDEX="$idx"
|
||||
export PS1_DEMO_INDEX
|
||||
__PS1_DEMO_STYLE="${styles[$idx]}"
|
||||
__PS1_DEMO_PACK="${packs[$idx]}"
|
||||
__PS1_DEMO_HOLIDAY="${holidays[$idx]}"
|
||||
}
|
||||
|
||||
# ---- Load Git prompt helper (best effort) ----
|
||||
__try_source_git_prompt() {
|
||||
@@ -947,6 +972,14 @@ _ps1_update() {
|
||||
__PS1_HOLIDAY="$(_ps1_holiday)"
|
||||
__PS1_STYLE="$(_ps1_style)"
|
||||
__PS1_GIT="${PS1_GIT:-0}"
|
||||
if [[ "$__PS1_STYLE" == "demo" ]]; then
|
||||
_ps1_demo_next
|
||||
__PS1_STYLE="$__PS1_DEMO_STYLE"
|
||||
__PS1_STYLE_PACK="$__PS1_DEMO_PACK"
|
||||
if [[ "$__PS1_STYLE_PACK" == "holiday" && -n "$__PS1_DEMO_HOLIDAY" ]]; then
|
||||
__PS1_HOLIDAY="$__PS1_DEMO_HOLIDAY"
|
||||
fi
|
||||
fi
|
||||
__PS1_SYM="$(_ps1_symbol)"
|
||||
__PS1_PATH="$(_ps1_path)"
|
||||
if _ps1_has_nf; then __PS1_USE_NF=1; else __PS1_USE_NF=0; fi
|
||||
|
||||
Reference in New Issue
Block a user