Я установил рыбу (1.23.1), чтобы исследовать это. Оказывается, что fish обновляет заголовок, только если $TERM
имеет одно из следующих значений: xterm
, screen
, nxterm
, rxvt
. В противном случае он никогда не вызывает функцию fish_title
.
Значение терминала по умолчанию - xterm-256color
и до Mac OS X Lion 10.7 это был xterm-color
, ни один из которых не распознается рыбой. Fish просто необоснованно консервативна в отношении того, какие значения terminfo, по ее мнению, поддерживают эту функцию. fish_title
не вызывается для любых вариантов xterm*
.
Чтобы обойти это ограничение рыбы, вы можете установить $TERM
в xterm
. Самый простой способ сделать это с настройкой терминала:
Терминал> Настройки> Настройки> [профиль]> Дополнительно> Объявить терминал как
Выберите xterm
из всплывающего меню. Это предпочтение контролирует значение $TERM
(это все, что он делает).
Обратите внимание, что использование xterm
вместо терминала по умолчанию может отключить некоторые функции терминала или, до появления Lion, вызывать неправильное поведение из-за несовместимости между описанием xterm
terminfo и более ранними версиями Terminal.
Поэтому, если fish не является вашей оболочкой по умолчанию, вы можете изменить только $TERM
при вызове fish. например, вы можете вызывать рыбу с помощью TERM=xterm fish
из оболочки, или вы можете создать собственный профиль настроек терминала только для запуска рыбы (вы можете установить предпочтение "Выполнить команду" для вызова рыбы, поэтому создайте новое окно терминала или вкладку с этим профилем будет автоматически бегать рыба).
Или, если вы не стесняетесь модифицировать fish: после того, как вы установили ее через MacPorts или Fink, у вас есть исходники, расположенные на вашем компьютере, и вы можете расширить список распознанных значений $ TERM или даже обновить код до учитывайте суффиксы на распознанных значениях. например, он должен по крайней мере разрешить любые значения, которые начинаются с xterm
или screen
. В противном случае он даже не будет работать с обычными вариантами screen
. И если вы сделаете это, пожалуйста, верните его обратно в рыбный проект.