Este LDP Howto demonstra como alterar o título de um xterm.
Eu sei que isso também é possível usando o xtitle
comando
Antes de invocar uma ação de longa execução, meu script usa essas técnicas para alterar o título de sua janela xterm.
Gostaria de extrair o nome da janela xterm antes de alterá-la, para que, depois que a ação de longa execução seja concluída, eu possa restaurar o título para o valor anterior.
Seria meio inverso ao xtitle ... Isso é possível?
xterm
tem uma pilha para o título da janela, se você descobrir como usá-lo.Respostas:
Use
xtitle
script.Existem muitas variantes na internet, no entanto, eu costumo usar uma que depende de
xprop
http://www.shelldorado.com/scripts/cmds/xtitle
fonte
xtitle
funciona, funciona apenas para sessões locais.Há uma sequência de controle para consultar o título atual, mas geralmente é desativado por motivos de segurança. Isso porque permite que um programa mal-intencionado ou mesmo apenas um arquivo de texto digitado insira seqüências arbitrárias de caracteres como se digitasse no teclado, primeiro definindo o título e depois solicitando que ele seja relatado novamente. Portanto, a pilha de títulos foi introduzida.
O comando a seguir salvará os títulos atuais da janela e do ícone na pilha:
Isso definirá o título para
my title
:E isso restaurará os títulos anteriores da janela e do ícone:
fonte
Para o caso trivial (e provavelmente o mais comum), em que se deseja consultar o prompt para o xterm atual, basta usar
xprop -id $WINDOWID WM_NAME
. Se você deseja extrair o valor da manipulação em um script de shell, pode fazer algo um pouco mais caro, como:Usando o bash sozinho (para evitar a invocação de awk e xargs):
Os xargs ecoam no primeiro exemplo e o eval no segundo exemplo existe simplesmente para retirar as aspas que o xprop coloca em torno do valor.
Substitua WM_NAME por WM_ICON se você deseja obter o nome do ícone em vez da string na barra de título.
fonte
Se entendi bem sua pergunta, você deve conseguir o título xterm atual inspecionando a
$PROMPT_COMMAND
variável, por exemplo:e você pode configurá-lo como (quebra de linha para facilitar a leitura):
fonte
PROMPT_COMMAND
é a maneira mais autorizada de obter o título, pois nem sempre é definido, e qualquer comando executado pode alterar o título entre os prompts. Para maior precisão, as seqüências de controle específicas do emulador de terminal provavelmente são o caminho a percorrer.$PROMPT_COMMAND
não é o título da janela. Eles não estão relacionados.