Como impedir que os ELinks permaneçam no buffer de rolagem?

2

Depois de sair do elinks , o histórico da página do navegador permanece no meu buffer de rolagem e, portanto, não está retornando para o que estava em buffer na tela quando lancei o elinks .

Dentro de uma tela GNU com altscreen habilitado, isso não acontece. Mas em qualquer sessão de terminal normal, os elinks permanecem no buffer. Noto que outros programas de terminal como o Vim e o lynx não permanecem no buffer de rolagem e, em vez disso, retornam o buffer ao seu estado no momento em que foram lançados. Eu não estou encontrando uma opção de configuração no ELinks para garantir que ele alterne para o terminal alternativo, no entanto.

$TERM=xterm-256color  

Existe uma opção de configuração para evitar que o ELinks fique no buffer de rolagem?

Atualização:

Em um pouco mais de investigação, o problema de rolagem ocorre apenas em iTerm2 e Terminal.app no OSX. Em um XTerm, o ELinks não modifica o buffer de rolagem.

    
por Michael 07.09.2012 / 15:57

1 resposta

1

O aparente problema é que o OP não gosta do modo como Terminal e iTerm2 mostram (ou não mostram) a tela alternativa. Esse é um recurso do xterm e programas que o imitam, permitindo que um aplicativo exiba texto em tela cheia sem modificar o texto normal da linha de comando.

elinks decide usar a tela alternativa se (a) achar que está sendo executado em xterm ou (b) se achar que está sendo executado na tela GNU.

  • Faz a verificação de "xterm" verificando se duas variáveis de ambiente estão definidas para valores não vazios: DISPLAY e WINDOWID .
  • Faz a verificação de "tela GNU", verificando se o ambiente STY está definido.

Como nenhuma das condições normalmente seria verdadeira no Terminal ou iTerm2, parece que o OP queria obter elinks para usar o buffer de rolagem. Ambos os programas suportam o recurso.

A maneira mais fácil seria executar a tela GNU, já que OP iria obter imediatamente o comportamento desejado. Se isso não for possível, pode-se fingir que está sendo executado na tela definindo a variável de ambiente STY , enquanto executa elinks (que tem menos efeitos colaterais do que tentar fingir que está sendo executado em xterm ).

Como ter essa variável configurada aleatoriamente interferiria na execução da tela do GNU, ela funcionaria melhor como um alias, por exemplo,

alias elinks='STY=fixup /opt/local/bin/elinks'

(usando o nome do caminho que o MacPorts usa para o executável).

    
por 26.03.2016 / 00:43