Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have customized my ZSH prompt with oh-my-zsh to make it more readable and add information about git if I'm in a repository.

Example :
bob@inf [~/docs] %
bob@inf [~/src/nicest] master % (in a git repository)

It works well but I have some bugs with tmux and the window name. It still display non sense value and I cannot disable it with automatic-rename off (it just do not work, the window name change after each command), for the first example tmux use ~/docs for the window name.

I'm not sure how I can fix it, I would like to keep my zsh prompt as it is, if can make change but would like to understand where is the problem ?

Another solution may be to redefine command settile (from this answer) but I'm not sure how to do it the right way.

share|improve this question

3 Answers 3

up vote 51 down vote accepted

I took a peek at oh-my-zsh and found a likely suspect.

When the value of the TERM environment variable starts with screen (which it should under both screen and tmux), it uses a screen terminal control sequence to set the window’s name to

  • (just before displaying a shell prompt)
    the left-most portion of the “tilde compressed” path of the current working directory (.. followed by the last 13 characters or the entire path if it less than 15 characters) and
  • (just before starting a command)
    the first “word” of about-to-be-run command (not counting ssh, sudo, and a few others).

It sounds like it is working this way for you (you said that your window named changed to ~/docs when you were in that directory). If you want to disable this automatic renaming, you can can disable it completely by setting the DISABLE_AUTO_TITLE shell parameter to true in your .zshrc:

DISABLE_AUTO_TITLE=true

If you just set this in an interactive shell, you will end up with an empty string for the current window’s name, but oh-my-zsh will stop updating the window before each prompt and command in that shell instance (it needs to be in your .zshrc to affect all new shell instances).

share|improve this answer
4  
This is such a perfect answer. Accurate, informative, concise and to the point. Moreover, it provides a solution in addition to answering the original question ("understanding where is the problem").It's only sad that whoever took the time to ask didn't bother marking this as the answer. –  dmondark Mar 5 '13 at 6:03
    
Thank you thank you thank you thank you thank you thank you –  Jezen Thomas Sep 25 at 10:16

I know that the answer above gives you a solution, but another one is to simply add this option your the ~/.tmux.conf

set-option -g allow-rename off
share|improve this answer
    
This is a better solution since it only affects tmux. –  Paul Oliver Nov 15 at 4:32

I met the same issue, which is tmux's window name was changed even by setting in .tmux.conf:

set-window-option -g automatic-rename off

Thanks Chris's answer. My tmux window name wasn't renamed automatically after I changed:

set -g default-terminal "screen-256color"

to:

set -g default-terminal "xterm-256color"
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.