Como alguns aplicativos aceitam o clique do mouse em bash over ssh?

4

Aplicativos como lynx browser, htop etc e muitos outros aceitam cliques do mouse dependentes de posição em bash over ssh shell. Eu sei que ssh é uma interface de linha de comando. Então, como aceita cliques do mouse?

    
por Abhik Bose 22.01.2018 / 17:44

2 respostas

5

IMHO, a maneira mais simples de escrever um aplicativo como TUI é usar nurses .

"New Curses" é uma biblioteca que abstrai o design da TUI dos detalhes do dispositivo subjacente. Todo o software que você citou usa ncurses para renderizar sua interface.

Quando você clica em um emulador de terminal (por exemplo, xterm, gnome-term, etc), o emulador de terminal traduz o clique em uma sequência de Códigos de escape ANSI . Essas seqüências são lidas e traduzidas em eventos pela biblioteca ncurses.

Você pode encontrar um exemplo no Stack Overflow: Eventos de movimento do mouse em NCurses

    
por 22.01.2018 / 18:13
3

É muito simples, em uma sessão de terminal serial da antiga escola, o mouse não era realmente uma opção para enviar entrada para a sessão de shell interativa. (Tenho certeza de que houve algumas exceções antecipadas).

No entanto, quando você está executando um emulador de terminal dentro de uma sessão de área de trabalho gráfica , o emulador de terminal pode estar ciente do mouse.

O que acontece em um nível alto é que os eventos do mouse são traduzidos pelo emulador de terminal ( xterm por exemplo) em seqüências de terminal e são enviados para a sessão de shell interativa do aplicativo que você está executando, htop , vim tudo. Nesse caso, vim apenas vê a sequência do terminal (como uma simples série de eventos de teclado produziria), não o evento do mouse.

    
por 22.01.2018 / 18:00