79 lines
1.6 KiB
Bash
79 lines
1.6 KiB
Bash
function title {
|
|
emulate -L zsh
|
|
setopt prompt_subst
|
|
|
|
[[ "$EMACS" == *term* ]] && return
|
|
|
|
: ${2=$1}
|
|
|
|
case "$TERM" in
|
|
cygwin|xterm*|putty*|rxvt*|ansi)
|
|
print -Pn "\e]2;$2:q\a"
|
|
print -Pn "\e]1;$1:q\a"
|
|
;;
|
|
screen*|tmux*)
|
|
print -Pn "\ek$1:q\e\\"
|
|
;;
|
|
*)
|
|
if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
|
print -Pn "\e]2;$2:q\a"
|
|
print -Pn "\e]1;$1:q\a"
|
|
else
|
|
if [[ -n "$terminfo[fsl]" ]] && [[ -n "$terminfo[tsl]" ]]; then
|
|
echoti tsl
|
|
print -Pn "$1"
|
|
echoti fsl
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
}
|
|
|
|
ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<"
|
|
ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
|
|
|
|
if [[ "$TERM_PROGRAM" == Apple_Terminal ]]; then
|
|
ZSH_THEME_TERM_TITLE_IDLE="%n@%m"
|
|
fi
|
|
|
|
function omz_termsupport_precmd {
|
|
emulate -L zsh
|
|
|
|
if [[ "$DISABLE_AUTO_TITLE" == true ]]; then
|
|
return
|
|
fi
|
|
|
|
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
|
|
}
|
|
|
|
function omz_termsupport_preexec {
|
|
emulate -L zsh
|
|
setopt extended_glob
|
|
|
|
if [[ "$DISABLE_AUTO_TITLE" == true ]]; then
|
|
return
|
|
fi
|
|
|
|
local CMD=${1[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]:gs/%/%%}
|
|
local LINE="${2:gs/%/%%}"
|
|
|
|
title '$CMD' '%100>...>$LINE%<<'
|
|
}
|
|
|
|
precmd_functions+=(omz_termsupport_precmd)
|
|
preexec_functions+=(omz_termsupport_preexec)
|
|
|
|
|
|
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then
|
|
function update_terminalapp_cwd() {
|
|
emulate -L zsh
|
|
|
|
local URL_PATH="$(omz_urlencode -P $PWD)"
|
|
[[ $? != 0 ]] && return 1
|
|
|
|
printf '\e]7;%s\a' "file://$HOST$URL_PATH"
|
|
}
|
|
|
|
precmd_functions+=(update_terminalapp_cwd)
|
|
update_terminalapp_cwd
|
|
fi
|