У меня в .zshrc реализованы две стандартные ZSH'евские фукнции, precmd() и preexec(). Они меняют заголовок моего urxvt в соответствии с программой, которая сейчас запущена. Они же добавляют перед именем программы имя хоста в квадратных скобочках, если zsh запущен не локально, а по ssh.
Но вот когда я запускал что-то вроде tmux new -s test
, счастье кончалось — заголовок оставался фиксированным, потому что tmux по умолчанию не пробрасывает соответствующие сигналы наверх, к urxvt. Оказалось, что фиксится это двумя строчками:
set -g set-titles on
set -g set-titles-string "#T"
Уняня!