Na verdade, existe uma maneira de enviar seqüências de escape diretamente para o xterm, passando pela tela. Não foi fácil de encontrar, mas do código de tela (src / ansi.c) eu acho que ele está lá desde 2005. Eu tenho ele trabalhando no xterm, no Gnome Terminal e no putty. Eu encontrei uma nota na fonte mintty indicando que não funciona lá simplesmente porque eles não lidam com DCS (a menos que tenha sido corrigido recentemente).
Na documentação da tela abaixo (no link )
ESC P (A) Device Control String
Outputs a string directly to the host terminal without interpretation.
O ANSI DCS (Device Control String) é um código de escape que é usado para enviar diretamente para um terminal (acho que esse era o propósito original de muitos anos atrás). Essa string é terminada com um código de escape ST (String Terminator).
Enrole a string para definir o título da janela do terminal dentro de um bloco DCS..ST, e ele passa pela tela e é atualizado corretamente, mesmo com o hardstatus alwayslastline.
DCS = \ 033P, ST = \ 033 \
Exemplo - para atualizar o título da janela com o diretório de trabalho atual, use
NEW_TITLE="3]0;${PWD/$HOME/~}git clone git://git.savannah.gnu.org/screen.git
git difftool e6618a14^! src/ansi.c
7"
echo -ne "3P${NEW_TITLE}3\"
Antes tarde do que nunca! Espero que isso ajude alguém.
Apenas no caso de eu estar errado sobre as mudanças na fonte da tela: Eu estou executando o mais recente do screen-session git, que por sua vez está usando quase o mais recente do screen git (com algumas mudanças específicas para screen-session). Mas as mensagens de log são datadas da tela de 2005 (você pode ver as alterações feitas no commit referentes ao DCS se você clonar o repositório git da tela e usar o comando abaixo).
ESC P (A) Device Control String
Outputs a string directly to the host terminal without interpretation.