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.
Best Answer
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 tothe 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) andthe 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 totrue
in your.zshrc
: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).