X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=4cd696785c37fc1f05edce10e59303bef7a61be2;hb=30eeed26f1b9f679cf9510e5af03a9e64ddf0158;hp=7429b9b6f8e7baf2619c5086617af27ec672ce63;hpb=202cacb4e429c5c65ae95fe15e23a0e0da606971;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 7429b9b..4cd6967 100644 --- a/zsh/rc +++ b/zsh/rc @@ -220,8 +220,8 @@ if [[ $ZSH_VERSION == (4.3.<9->*|4.<4->*|<5->*) || # Load vcs_info to display information about version control repositories. autoload -Uz vcs_info - # Only look for git and mercurial repositories; the only I use. - zstyle ':vcs_info:*' enable git hg + # Only look for certain VCS. + zstyle ':vcs_info:*' enable git # Check the repository for changes so they can be used in %u/%c (see # below). This comes with a speed penalty for bigger repositories. zstyle ':vcs_info:*' check-for-changes yes @@ -418,6 +418,8 @@ zshrc_prompt_precmd() { local background="%(1j.${yellow}%j${default}.)" # Exit code in bright red in parentheses if not zero. local exitcode="%(?..(${red}%B%?%b${default}%) )" + # Prompt symbol, % for normal users, # in red for root. + local symbol="%(!.${red}#${default}.%%)" # Prefix characters in first and second line. local top_prefix="${blue}%B.-%b${default}" @@ -452,7 +454,7 @@ zshrc_prompt_precmd() { local top_separator="%B${blue}${(l:${width}::-:)}%b${default}" PROMPT="${top_prefix}${top_left}${top_separator}${top_right} -${bottom_prefix}${user}@${host} ${background}%# ${exitcode}" +${bottom_prefix}${user}@${host} ${background}${symbol} ${exitcode}" } precmd_functions+=(zshrc_prompt_precmd) @@ -853,6 +855,15 @@ source_config ~/.zsh/rc.local # RUN COMMANDS +# Make sure the multiplexer is available. Otherwise the exec terminates our +# session. +if [[ -n $zshrc_use_multiplexer ]]; then + if ! (( $+commands[$zshrc_use_multiplexer] )); then + echo "Multiplexer '$zshrc_use_multiplexer' not found." >&2 + zshrc_use_multiplexer= + fi +fi + # If not already in screen or tmux, reattach to a running session or create a # new one. This also starts screen/tmux on a remote server when connecting # through ssh.