KDE Konsole reage com cliques do mouse de uma maneira estranha

4

De tempos em tempos, meu KDE Konsole enlouquece, toda vez que eu clico nele com o mouse imprimo caracteres de lixo :) Não é realmente chato, eu apenas fecho, mas estou curioso para saber o que acontece.

    
por fritzone 19.04.2013 / 10:28

1 resposta

9

Deixe-me adivinhar: você quer dizer o efeito que você obtém quando executa o seguinte comando?

printf '\e[?1000h'

O que acontece é o seguinte. Existem dois tipos de programas em execução em um emulador de terminal como o konsole: aqueles que dependem do manuseio básico do mouse oferecido pelo terminal programa (por exemplo, o botão esquerdo seleciona, pastas do botão do meio) e que querem fazer sua própria interpretação dos eventos do mouse. Maioria dos programas, como bash, o antigo, midnight commander (mc) é um exemplo de o último. Se um programa quiser interpretar os eventos do mouse sozinho, ele envia uma certa "seqüência de escape" (como a acima) para o konsole, para que o konsole envie de volta as coordenadas do mouse sempre um botão é pressionado; quando o programa pára, ele envia outro "escape sequence" para o konsole, para que o konsole retorne ao seu modo normal.

O que aconteceu no seu caso é que o Konsole recebeu o escape sequência sem um programa cooperante em execução. Existem vários possíveis razões:

  • Uma ferramenta mal programada mudou o modo do mouse e depois travou sem voltar atrás.

  • Você despejou alguns dados binários, por exemplo, algum programa executável para a tela, que continha a seqüência de escape de comutação do mouse.

  • Você digitou incorretamente uma seqüência de escape, que deveria, Por exemplo, altere a fonte ou a cor de fundo no seu prompt e acidentalmente conseguiu a sequência de escape de comutação do mouse.

O mesmo se aplica a outros programas emulador de terminal como o xterm ou gnome-terminal. (A sequência de escape de comutação do mouse foi introduzida no xterm; tanto o konsole quanto o gnome-terminal copiaram-no.) A propósito, normalmente não é necessário fechar o konsole se algo assim acontece. Você pode usar o comando reset para retornar ao modo normal.

    
por 19.04.2013 / 17:07

Tags