Установить иконку прокси 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 Теперь можно корректно обновлять заголовок терминала.

Другие вопросы по тегам