diff options
-rw-r--r-- | .zsh/title.zsh | 26 | ||||
-rw-r--r-- | .zshrc | 6 |
2 files changed, 28 insertions, 4 deletions
diff --git a/.zsh/title.zsh b/.zsh/title.zsh new file mode 100644 index 00000000..b0d7ad70 --- /dev/null +++ b/.zsh/title.zsh @@ -0,0 +1,26 @@ +function _title { + echo -en "\033]0;$@\a" +} + +function title { + if [ -n "$1" ]; then + _title_custom=1 + _title $@ + else + unset _title_custom + _title_precmd + fi +} + +function _title_preexec { + [ -z "$_title_custom" ] && _title "$1" +} + +function _title_precmd { + [ -z "$_title_custom" ] && _title zsh +} + +typeset -ga preexec_functions +typeset -ga precmd_functions +preexec_functions+='_title_preexec' +precmd_functions+='_title_precmd' diff --git a/.zshrc b/.zshrc index 5f93af54..ac96cd74 100644 --- a/.zshrc +++ b/.zshrc @@ -66,6 +66,8 @@ chruby ruby-2.0.0 source ~/.zsh/gitprompt.zsh +source ~/.zsh/title.zsh + # Environment export EDITOR=vim @@ -75,10 +77,6 @@ export PATH=$PATH:~/bin # Functions and aliases -function title { - echo -en "\033]0;$1\a" -} - function game { xinit =$1 ${@:2} -- :1 vt6 } |