|
@@ -10,7 +10,8 @@ function title {
|
|
|
emulate -L zsh
|
|
|
setopt prompt_subst
|
|
|
|
|
|
- [[ "$INSIDE_EMACS" == *term* ]] && return
|
|
|
+ # Don't set the title if inside emacs, unless using vterm
|
|
|
+ [[ -n "$INSIDE_EMACS" && "$INSIDE_EMACS" != vterm ]] && return
|
|
|
|
|
|
# if $2 is unset use $1 as default
|
|
|
# if it is set and empty, leave it as is
|
|
@@ -29,12 +30,9 @@ function title {
|
|
|
print -Pn "\e]2;${2:q}\a" # set window name
|
|
|
print -Pn "\e]1;${1:q}\a" # set tab name
|
|
|
else
|
|
|
- # Try to use terminfo to set the title
|
|
|
- # If the feature is available set title
|
|
|
- if [[ -n "$terminfo[fsl]" ]] && [[ -n "$terminfo[tsl]" ]]; then
|
|
|
- echoti tsl
|
|
|
- print -Pn "$1"
|
|
|
- echoti fsl
|
|
|
+ # Try to use terminfo to set the title if the feature is available
|
|
|
+ if (( ${+terminfo[fsl]} && ${+terminfo[tsl]} )); then
|
|
|
+ print -Pn "${terminfo[tsl]}$1${terminfo[fsl]}"
|
|
|
fi
|
|
|
fi
|
|
|
;;
|
|
@@ -105,10 +103,12 @@ function omz_termsupport_preexec {
|
|
|
title '$CMD' '%100>...>$LINE%<<'
|
|
|
}
|
|
|
|
|
|
-autoload -U add-zsh-hook
|
|
|
-add-zsh-hook precmd omz_termsupport_precmd
|
|
|
-add-zsh-hook preexec omz_termsupport_preexec
|
|
|
+autoload -Uz add-zsh-hook
|
|
|
|
|
|
+if [[ -z "$INSIDE_EMACS" || "$INSIDE_EMACS" = vterm ]]; then
|
|
|
+ add-zsh-hook precmd omz_termsupport_precmd
|
|
|
+ add-zsh-hook preexec omz_termsupport_preexec
|
|
|
+fi
|
|
|
|
|
|
# Keep Apple Terminal.app's current working directory updated
|
|
|
# Based on this answer: https://superuser.com/a/315029
|