]> git.rmz.io Git - dotfiles.git/commitdiff
zsh: fix setting window title
authorSamir Benmendil <samir.benmendil@gmail.com>
Tue, 9 Dec 2014 18:55:14 +0000 (18:55 +0000)
committerSamir Benmendil <samir.benmendil@gmail.com>
Tue, 9 Dec 2014 18:55:14 +0000 (18:55 +0000)
zsh/lib/termsupport.zsh [deleted file]
zsh/lib/title.zsh [new file with mode: 0644]

diff --git a/zsh/lib/termsupport.zsh b/zsh/lib/termsupport.zsh
deleted file mode 100644 (file)
index c056989..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title
-#http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
-#Fully support screen, iterm, and probably most modern xterm and rxvt
-#Limited support for Apple Terminal (Terminal can't set window or tab separately)
-function title {
-  if [[ "$DISABLE_AUTO_TITLE" == "true" ]] || [[ "$EMACS" == *term* ]]; then
-    return
-  fi
-  if [[ "$TERM" == screen* ]]; then
-    print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
-  elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
-    print -Pn "\e]2;$2:q\a" #set window name
-    print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal)
-  fi
-}
-
-ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
-ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
-
-#Appears when you have the prompt
-function omz_termsupport_precmd {
-  title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
-}
-
-#Appears at the beginning of (and during) of command execution
-function omz_termsupport_preexec {
-  emulate -L zsh
-  setopt extended_glob
-  local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
-  title "$CMD" "%100>...>${2:gs/%/%%}%<<"
-}
-
-autoload -U add-zsh-hook
-add-zsh-hook precmd  omz_termsupport_precmd
-add-zsh-hook preexec omz_termsupport_preexec
diff --git a/zsh/lib/title.zsh b/zsh/lib/title.zsh
new file mode 100644 (file)
index 0000000..09c5947
--- /dev/null
@@ -0,0 +1,16 @@
+function title {
+  local tmp
+  tmp=(${(f)*})
+  printf "\e]0;%s\a" "${tmp[1]}"
+}
+
+case "$TERM" in
+  (*xterm*|rxvt*)
+    function title_precmd  { title "${(%):-[%n@%m] %~}" }
+    function title_preexec { title "$1" }
+  ;;
+esac
+
+autoload -U add-zsh-hook
+add-zsh-hook precmd  title_precmd
+add-zsh-hook preexec title_preexec