Установить иконку прокси Terminal.app с xterm и экраном
В течение достаточно долгого времени я использовал предоставленные ответы для Resume Zsh-Terminal (OS X Lion), чтобы установить значок прокси для Terminal.app при работе в zsh
и до сих пор он работал довольно хорошо. Тем не менее, я недавно заметил, что работает в zsh
под screen
, zsh
больше не может обновлять Terminal.app о текущем рабочем каталоге.
После охоты, кажется, что screen
принимает различные escape-последовательности (или что-то в том же духе) для того, чтобы установить свои заголовки, и, кажется, существует некоторая недопонимание между screen
а также xterm
, но в целом, я не смог найти решение, чтобы решить эту проблему.
Я добавил следующую строку в мой .screenrc
файл, но безрезультатно:
termcapinfo xterm* 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
Я видел много разных "решений", но ни одно из них специально не поддерживало это - какая-нибудь помощь?
Чтобы уточнить, согласно комментариям Криса ниже: ранее я использовал следующую строку для обновления терминала:
printf '\e]7;%s\a' "${PWD// /%20}"
Это не работает под экраном, либо из-за того, как printf
функции, или из-за используемых escape-последовательностей.
1 ответ
Ended up solving my own problem. Я добавил zsh
hook to chpwd
with the following code:
# Update Terminal about the current working directory.
if [[ "$TERM_PROGRAM" = "Apple_Terminal" ]]; then
update_terminal_pwd() {
echo -n "<ESC>]0;${$(pwd -P)//\/Users\/itaiferber/~}/"
}
autoload add-zsh-hook
add-zsh-hook chpwd update_terminal_pwd
update_terminal_pwd
fi
That updates the title of the terminal window to the current working directory (shows an abbreviated path instead of a full file path, while following symlinks), as well as a document proxy icon.
To clarify, this needs used with the line mentioned in the question in one's .screenrc
- it doesn't work right out of the box.
Опять же, согласно комментариям Криса, я хочу прояснить: просто кажется, что этот ответ предлагает правильные escape-последовательности для запуска обновления заголовка Терминала. Я предполагаю, что с этой конфигурацией, screen
Теперь можно корректно обновлять заголовок терминала.