############################################################################## # Changes the prompt to a Debian-style one that truncates pwd to a max length # depending on the terminal column width. Also uses the prompt_callback # function of bash-git-prompt to set the window title to almost the same # Debian-style. # # The prompt will use a Debian-style on the form # # [user@host: ] [bash-git-prompt-info] # HH:MM $ # # The window title will have the form # user@host: # # Example usage: # if [ -f ~/.bash-git-prompt/gitprompt.sh ]; then # GIT_PROMPT_THEME=TruncatedPwd_WindowTitle_NoExitState # source ~/.bash-git-prompt/gitprompt.sh # fi # # oGre [https://github.com/ogr3] ############################################################################## override_git_prompt_colors() { GIT_PROMPT_THEME_NAME="TruncatedPwd_WindowTitle_NoExitState" #Sets the window title to the given argument string function gp_set_title { echo -ne "\033]0;"$@"\007" } #Helper function that truncates $PWD depending on window width function gp_truncate_pwd { local newPWD="${PWD/#$HOME/~}" local pwdmaxlen=$((${COLUMNS:-80}/3)) [ ${#newPWD} -gt $pwdmaxlen ] && newPWD="...${newPWD:3-$pwdmaxlen}" echo -n "$newPWD" } #Overrides the prompt_callback function used by bash-git-prompt function prompt_callback { local PS1="\u@\h: $(gp_truncate_pwd)" gp_set_title $PS1 echo -n "[${PS1}]${ResetColor}" } Time12a="\$(date +%H:%M)" GIT_PROMPT_START_USER="${Yellow}" GIT_PROMPT_START_ROOT="${GIT_PROMPT_START_USER}" GIT_PROMPT_END_USER="\n${White}${Time12a}${ResetColor} $ " GIT_PROMPT_END_ROOT="\n${White}${Time12a}${ResetColor} # " } reload_git_prompt_colors "TruncatedPwd_WindowTitle_NoExitState"