O comando reset
não ajudará na limpeza do redimensionamento.
O comando resize
pode ser útil, mas há uma armadilha. Existem dois casos de uso principais para resize
:
- informando ao sistema o tamanho da tela quando não é possível identificar, por exemplo, a conexão por meio de uma interface serial sem o suporte do NAWS (negociações sobre o tamanho da janela). Isso é útil para perguntas frequentes.
- reparando as variáveis de ambiente desnecessariamente definidas através do uso anterior de
resize
. Este produz relatórios de bugs.
O programa resize
foi originalmente escrito quando os sistemas baseados em termcap eram comuns. Uma descrição típica de termcap diz o tamanho da tela, porque a maioria dos aplicativos termcap escritos na década de 1980 não incluiu as chamadas do sistema para perguntar o tamanho da tela. Isso começou a mudar no final dos anos 80 com a introdução do sinal SIGWINCH
e as chamadas do sistema para obter as informações.
No entanto, devido a esses aplicativos legados, foi estabelecida uma convenção que dizia que (por padrão) se as variáveis LINES
e / ou COLUMNS
fossem definidas, então elas substituiriam a descrição do termcap.
Até agora, tudo bem.
No entanto, algumas aplicações (incluindo shells como o bash, que é essencialmente uma aplicação termcap) irão prestar mais atenção a estas variáveis LINES
e COLUMNS
do que o tamanho real do ecrã.
Se você avaliar a saída de resize
, você definirá essas variáveis. Isso parece bem, até que (você pode notar) no redimensionamento da janela novamente, os programas que estavam seguindo as mudanças de tela não estão mais fazendo isso.
Não há problema, basta repetir o que você fez com resize
.
Por outro lado, se você simplesmente executar resize
sem avaliar sua saída, ele atualizará a noção do tamanho de tela do sistema.
Leitura adicional: