Mercurial > dotfiles
view .shell.d/99.prompt.zsh @ 325:64e73453e43f
xmonad: Pull apart custom layout into something readable
This change doesn't affect any behavior, but it does document the custom
layout by naming function parameters. Hopefully, this will make things
easier to fix the next time the XMonad developers break us.
author | Lucas Bergman <lucas@bergmans.us> |
---|---|
date | Tue, 11 Mar 2014 12:49:05 -0500 |
parents | 02b635053e8f |
children | 0ceb8554801e |
line wrap: on
line source
# Magic prompt with colors # username in blue if not root # username in red if root - time in pink w/ # DANGER replacing the date # failed jobs print exit status in the RPS1 with yellow text setopt prompt_subst preexec () { currJob="`echo $3 | cut -d ' ' -f 1 | head -n 1`" if [[ "$TERM" == "screen" ]]; then hostUser="%10<...<%~%<<" print -Pn "\ek[$hostUser $currJob]\e\\" else if [[ "$FANCYTYPE" == "YES" ]]; then hostUser="%n@%m: %2~" print -Pn "\e]0;$hostUser [$currJob]\a" fi fi } function right_side_prompt() { branch=`vcs_current_branch` if [ $? = 0 ] ; then echo -n $branch else date '+%D %H:%M' fi } function precmd () { rps_branch=`right_side_prompt` } if [ "x`whoami`" = "xroot" ] ; then PS1=$'%{\e];%n@%m: %2~ [zsh]\a%}[%m:%3~] %{\e[31m%}%n%{\e[0m%}%# ' if [[ "$TERM" == "screen" ]] ; then PS1=$'%{\ek[%2~ zsh]\e\\%}[%m:%3~] %{\e[31m%}%n%{\e[0m%}%# ' fi RPS1=$'%{\e[1;35m%}[DANGER %t]%{\e[0m%}%(?..%{\e[1;33m%} %?%{\e[1;0m%})' else PS1=$'%{\e];%n@%m: %2~ [zsh]\a%}[%m:%3~] %{\e[34m%}%n%{\e[0m%}%# ' if [[ "$TERM" == "screen" ]]; then PS1=$'%{\ek[%2~ zsh]\e\\%}[%m:%3~] %{\e[34m%}%n%{\e[0m%}%# ' fi RPS1=$'[$rps_branch]%(?..%{\e[1;33m%} %?%{\e[0m%})' fi export FANCYTYPE="NO" for ok in rxvt rxvt-unicode xterm xterm-256color xterm-color screen ; do if [ "$TERM" = "$ok" ] ; then export FANCYTYPE="YES" fi done if [ $FANCYTYPE = "NO" ] ; then prompt='[%m:%3~] %n%# ' RPS1=$'[%W %t]' fi if [[ $TERM == "dumb" ]]; then # in emacs # for tramp to not hang, need the following. cf: # http://www.emacswiki.org/emacs/TrampMode unsetopt zle unsetopt prompt_cr unsetopt prompt_subst unfunction precmd unfunction preexec fi #nonfancy no-frills prompt - disabled (same as the "non-fancy" one above) #prompt='[%m:%3~] %n%# ' #RPS1=$'[%W %t]'