diff --git a/ps1.sh b/ps1.sh index 5e56bcd..5704ad4 100644 --- a/ps1.sh +++ b/ps1.sh @@ -20,24 +20,66 @@ case "$-" in esac # ------------------------------------------------- -# Emoji helper +# Emoji based on time (Norway / Europe/Oslo) +# Ranges: +# 05:00-08:59 tidlig +# 09:00-10:59 formiddag +# 11:00-11:29 lunsj +# 11:30-15:59 dag +# 16:00-16:59 middag +# 17:00-22:59 kveld +# 23:00-04:59 natt # ------------------------------------------------- _ps1_emoji() { - local emojis=( "🚀" "✨" "🔥" "🧠" "🛠️" ) - printf '%s' "${emojis[RANDOM % ${#emojis[@]}]}" + local hh mm + hh="$(TZ=Europe/Oslo date +%H)" + mm="$(TZ=Europe/Oslo date +%M)" + + # Strip leading zeros safely + local h m + h=$((10#$hh)) + m=$((10#$mm)) + + if (( h >= 5 && h <= 8 )); then + printf '%s' "🌅" # tidlig + elif (( h >= 9 && h <= 10 )); then + printf '%s' "☕" # formiddag + elif (( h == 11 && m < 30 )); then + printf '%s' "🥪" # lunsj (11:00-11:29) + elif (( (h == 11 && m >= 30) || (h >= 12 && h <= 15) )); then + printf '%s' "💻" # dag + elif (( h == 16 )); then + printf '%s' "🍲" # middag + elif (( h >= 17 && h <= 22 )); then + printf '%s' "🌆" # kveld + else + printf '%s' "🌙" # natt (23-04) + fi } # ------------------------------------------------- -# Build PS1 (your requested order) +# Build PS1 (boxy + pastel contrast + full path) +# Uses $(pwd) so you see /home/user instead of ~ # ------------------------------------------------- _ps1_build() { - local emoji="$(_ps1_emoji)" + local emoji path + emoji="$(_ps1_emoji)" + path="$(pwd)" + # Pastel-ish 256 colors: + # - box: 183 (light purple) + # - value: 117 (light cyan) + # - accent 229 (light yellow) + local BOX="\[\e[38;5;183m\]" + local VAL="\[\e[38;5;117m\]" + local ACC="\[\e[38;5;229m\]" + local RST="\[\e[0m\]" + + # Layout: + # ╭─(date time)-(user@host)-(fullpath) + # ╰──➜ $ + emoji printf '%b' \ -"\[\e[31m\]\d\[\e[0m\] \ -\[\e[33m\]\A\[\e[0m\] \ -\[\e[34m\]\u@\h\[\e[0m\] \ -\[\e[32m\]\w\[\e[0m\]\n\\$emoji " +"${BOX}╭─(${ACC}\d${BOX} ${ACC}\A${BOX})-(${VAL}\u${BOX}@${VAL}\h${BOX})-(${VAL}${path}${BOX})${RST}\n${BOX}╰──➜ ${RST}\\$${emoji} " } # ------------------------------------------------- @@ -54,6 +96,5 @@ ps1_off() { PROMPT_COMMAND="$__PS1_PREV_PROMPT_COMMAND" } -# ------------------------------------------------- -# End of file -# ------------------------------------------------- +# Optional: turn it on immediately when sourced (comment out if you don't want auto-enable) +# ps1_on