mirror of
https://github.com/lloeki/dotfiles.git
synced 2025-12-06 07:24:39 +01:00
modularisation term_title
This commit is contained in:
parent
d5cca2a992
commit
5cfd24a554
3 changed files with 30 additions and 18 deletions
19
bash/prompt
19
bash/prompt
|
|
@ -32,35 +32,18 @@ __tpwd() {
|
||||||
__truncate_dir "$PWD"
|
__truncate_dir "$PWD"
|
||||||
}
|
}
|
||||||
|
|
||||||
__bash_prompt_command() {
|
|
||||||
local pwdmaxlen=25
|
|
||||||
local trunc_symbol="…"
|
|
||||||
|
|
||||||
PROMPT_PWD=$(__tpwd)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
__set_bash_ps1() {
|
__set_bash_ps1() {
|
||||||
case $TERM in
|
|
||||||
xterm*|rxvt*)
|
|
||||||
local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
local TITLEBAR=""
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# load color vars
|
# load color vars
|
||||||
source "$DOTFILES_BASH_DIR/ansi_colors"
|
source "$DOTFILES_BASH_DIR/ansi_colors"
|
||||||
|
|
||||||
# colorized:
|
# colorized:
|
||||||
PS1="${TITLEBAR} ${B}[${UC}\u@\h ${G}\${PROMPT_PWD}${B}]${UC}\\$ ${NONE}"
|
PS1=" ${B}[${UC}\u@\h ${G}\$(__tpwd)${B}]${UC}\\$ ${NONE}"
|
||||||
# without colors:
|
# without colors:
|
||||||
#PS1="${TITLEBAR}[\u@\h \${NEW_PWD}]\\$ "
|
#PS1="${TITLEBAR}[\u@\h \${NEW_PWD}]\\$ "
|
||||||
# extra backslash in front of \$ to make bash colorize the prompt
|
# extra backslash in front of \$ to make bash colorize the prompt
|
||||||
}
|
}
|
||||||
|
|
||||||
PROMPT_COMMAND=__bash_prompt_command
|
|
||||||
__set_bash_ps1
|
__set_bash_ps1
|
||||||
unset __set_bash_ps1
|
unset __set_bash_ps1
|
||||||
|
|
||||||
|
|
|
||||||
1
bash/rc
1
bash/rc
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
source $DOTFILES_BASH_DIR/prompt
|
source $DOTFILES_BASH_DIR/prompt
|
||||||
source $DOTFILES_BASH_DIR/history
|
source $DOTFILES_BASH_DIR/history
|
||||||
|
source $DOTFILES_BASH_DIR/term_title
|
||||||
source $DOTFILES_BASH_DIR/completion
|
source $DOTFILES_BASH_DIR/completion
|
||||||
|
|
||||||
# easy on spelling mistakes
|
# easy on spelling mistakes
|
||||||
|
|
|
||||||
28
bash/term_title
Normal file
28
bash/term_title
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Tell the terminal about the working directory at each prompt.
|
||||||
|
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
|
||||||
|
update_terminal_cwd() {
|
||||||
|
# Identify the directory using a "file:" scheme URL,
|
||||||
|
# including the host name to disambiguate local vs.
|
||||||
|
# remote connections. Percent-escape spaces.
|
||||||
|
local SEARCH=' '
|
||||||
|
local REPLACE='%20'
|
||||||
|
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
|
||||||
|
printf '\e]7;%s\a' "$PWD_URL"
|
||||||
|
}
|
||||||
|
PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND"
|
||||||
|
fi
|
||||||
|
|
||||||
|
set_term_title() {
|
||||||
|
case $TERM in
|
||||||
|
xterm*|rxvt*)
|
||||||
|
local title="\033]2;$USER@${HOSTNAME%%.*}:${PWD/#$HOME/~}\a"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
local title=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
printf "$title"
|
||||||
|
}
|
||||||
|
PROMPT_COMMAND="set_term_title; $PROMPT_COMMAND"
|
||||||
|
|
||||||
|
# vim: ft=sh
|
||||||
Loading…
Add table
Add a link
Reference in a new issue