gnu tela para não mudar meus títulos de janela

5

Eu defino nomes significativos para novas janelas que crio na tela do gnu, mas quando eu 'cd' ou abro o vim esse nome é alterado para 'pwd' por exemplo. Existe uma maneira de impedir que a tela altere o título? Eu sei que há uma configuração como essa no tmux, mas por algum motivo os pergaminhos vim realmente são lentos no tmux com múltiplos splits verticais, então eu tive que abandoná-lo (tmux). Idéias apreciadas!

    
por Anton Pegushin 21.02.2015 / 00:13

4 respostas

2

A tela do

gnu não parece ter uma maneira de desativar o recurso (e você aplicaria isso seletivamente em qualquer caso). A maneira de consertá-lo seria modificar o comportamento do shell e do vim:

por 08.05.2015 / 00:24
1

A linha em / etc / screenrc que foi o problema para mim foi

hardstatus string "[screen %n%?: %t%?] %h"

Uma vez que isso foi identificado, não precisei editar o arquivo do sistema. Eu poderia trabalhar em torno de tela alterando o título com

CTRL-A:hardstatus alwaysignore

para a janela atual ou adicionando o seguinte ao meu ~ / .screenrc para futuras janelas:

hardstatus alwaysignore

(Eu configurei os títulos de abas e janelas da janela do meu terminal para incluir informações úteis e a tela não estava me ajudando.)

    
por 25.01.2018 / 20:08
0

De que "janelas" você está falando?

Tela e talvez o shell e o vim enviem códigos de escape de termos para o terminal para essas coisas. Alguns emuladores de terminal não são tão bons em pegá-los todos e vão essencialmente fubar. Mas tem sido desde que eu vi isso acontecer.

Com a tela, você pode definir o título da janela com title <title> e configurá-lo programaticamente (ligando as teclas ou sequências ESC especiais) como quiser. Em última análise, esses programas emitem uma sequência para o seu terminal. Você pode usar a variável de ambiente PROMPT_COMMAND para alterar isso dinamicamente dependendo, por exemplo, do seu cwd. Aqui está o meu, que aparentemente é definido pelo / etc / bashrc do meu sistema

printf "3]0;%s@%s:%s3\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"

Para fazer com que o título desapareça completamente, você deve fazer (pelo menos) três coisas:

  1. feche todas as telas, exceto 1, e desmarque PROMPT_COMMAND no prompt de comando e, em ~/.profile after /etc/bashrc , será carregado.
  2. Use o comando title da tela. Atingir Ctrl-A , em seguida, : , em seguida, title ""<CR> . Você pode definir isso em .screenrc também.
  3. Envie uma sequência nula do shell:

    printf "3]0;3\"
    

Se algo mais (como vim ) estiver configurando, precisaremos fazer mais pesquisas.

Na man page da tela, há uma seção sobre TITLES na qual eles discutem isso detalhadamente.

    
por 08.05.2015 / 02:10
0

Relacionado, descobri que depois de definir o título da minha janela (e garantir que o PROMPT_COMMAND não estava definido e que nada era inconveniente em meu PS1), essa tela de ativação em alguns sistemas resultaria na alteração do título da minha janela. Depois de muitos experimentos e frustrações eu finalmente descobri que ao pegar o arquivo instalado / etc / screenrc do pacote de tela de um sistema que NÃO tinha esse problema e usá-lo para substituir o mesmo arquivo em um sistema que tinha o problema, ele consertou questão. tela agora não altera mais o título da minha janela. Agora exatamente, que linha ou linhas no / etc / screenrc estão fazendo que eu não sei. A diferença entre os dois screenrc é enorme e então eu nem me incomodei em tentar descobrir.

    
por 16.08.2017 / 22:26