From 6c1f3077234d6271289e27d4fd51254cd04048b6 Mon Sep 17 00:00:00 2001 From: francois Date: Sun, 25 Jan 2026 10:43:34 +0100 Subject: [PATCH] ZSH dynamic theming --- private_dot_config/zsh/dot_zshrc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/private_dot_config/zsh/dot_zshrc b/private_dot_config/zsh/dot_zshrc index d7ea674..bbcf3e8 100644 --- a/private_dot_config/zsh/dot_zshrc +++ b/private_dot_config/zsh/dot_zshrc @@ -3,6 +3,15 @@ if ([ -f $XDG_CONFIG_HOME/wallpaper/current ] && [ ! -d $XDG_CACHE_HOME/wal ]) | wal --cols16 dual -n -e -s -t -p "current_theme" -i .config/wallpaper/current [ -f $HOME/.reset_color ] && rm $HOME/.reset_color fi +if [ -f $XDG_CACHE_HOME/wal/colors ]; then + BACKGROUND_COL=$(sed '1q;d' $XDG_CACHE_HOME/wal/colors) + COL1=$(sed '2q;d' $XDG_CACHE_HOME/wal/colors) + COL2=$(sed '15q;d' $XDG_CACHE_HOME/wal/colors) + COL3=$(sed '3q;d' $XDG_CACHE_HOME/wal/colors) + COL4=$(sed '14q;d' $XDG_CACHE_HOME/wal/colors) + COL5=$(sed '4q;d' $XDG_CACHE_HOME/wal/colors) + CURSOR_COL=$(sed '16q;d' $XDG_CACHE_HOME/wal/colors) +fi # source global shell alias & variables files [ -f "$XDG_CONFIG_HOME/shell/alias" ] && source "$XDG_CONFIG_HOME/shell/alias" @@ -69,7 +78,11 @@ source <(fzf --zsh) # allow for fzf history widget # set up prompt NEWLINE=$'\n' -PROMPT="${NEWLINE}%K{#2E3440}%F{#E5E9F0} %N %K{#3b4252}%F{#ECEFF4} %n %K{#4c566a} %~ %f%k ❯ " # nord theme +if [ -z ${BACKGROUND_COL} ]; then + PROMPT="${NEWLINE}%K{#2E3440}%F{#E5E9F0} %N %K{#3b4252}%F{#ECEFF4} %n %K{#4c566a} %~ %f%k ❯ " # nord theme +else + PROMPT="${NEWLINE}%K{${COL1}}%F{${COL2}} %N %K{${COL3}}%F{${COL4}} %n %K{${COL5}} %~ %f%k ❯ " # custom dynamic theme +fi echo -e "${NEWLINE}\x1b[38;5;137m\x1b[48;5;0m it's $(print -P '%D{%_H:%M%P}\n') \x1b[38;5;180m\x1b[48;5;0m $(uptime -p | cut -c 4-) \x1b[38;5;223m\x1b[48;5;0m $(uname -r) \033[0m" # current