Como desabilitar a rolagem de terminal em um script Bash?

1

Ao usar um programa como htop - a ação da roda de rolagem do mouse não fará nada.

Como posso reproduzir esse comportamento no meu script Bash?

Eu acho que deveria haver uma maneira de dizer ao terminal para ignorar as solicitações de rolagem. Como isso é feito?

    
por unfa 26.11.2018 / 17:27

1 resposta

2

htop acontece de usar ncurses

ncurses (e outras coisas que usam a tela cheia em um terminal) inicializam o terminal usando o recurso terminfo smcup . Para xterm (e emuladores de terminal que imitam), isso muda para a tela alternativa . Esses terminais podem responder a um mouse de roda enviando chaves de cursor para cima / para baixo em vez de rolar a janela do terminal (que você veria em htop pela linha de foco movendo para cima / para baixo). Seu script bash pode ver essas teclas de cursor, mas não manipulá-las.

Você pode experimentar o recurso em um script usando

tput smcup

para alternar para a tela alternativa e

tput rmcup

para voltar para a tela normal.

    
por 26.11.2018 / 22:21