Por que o cursor para de piscar quando a janela está fora de foco?

0

Eu vi isso tanto no Linux (Ubuntu 13.10) como no Windows (7) que quando uma janela (editor, navegador, terminal etc) contendo uma caixa de texto com um cursor piscante fica fora de foco, o cursor pára de piscar.

Por que isso acontece? Alguns detalhes sobre o processo interno (o como ) disso seria apreciado.

    
por Bleeding Fingers 08.01.2014 / 19:53

1 resposta

0

O que está piscando é o prompt pronto para entrada (porque está no primeiro plano).

É uma sugestão visual para você saber a qual caixa de comando sua entrada irá para.

Mais informações de Wikipedia :

In most command-line interfaces or text editors, the text cursor or caret navigation, is an underscore, a solid rectangle, or a vertical line, which may be flashing or steady, indicating where text will be placed when entered (the insertion point).

e

The blinking of the text cursor is usually temporarily suspended when it is being moved; otherwise, the cursor may change position when it is not visible, making its location difficult to follow.

Quanto ao "como" é implementado, isso dependeria da interface de linha de comando que está sendo usada e provavelmente variará de fornecedor para fornecedor, e muitos desses fornecedores são de código fechado.

Geralmente, a aparência do cursor também é afetada / controlada pelo adaptador de vídeo, mas geralmente apenas nos modos de texto de vídeo verdadeiro.

Se eu implementasse o meu próprio, visualizaria um temporizador que alterna o estado de visibilidade do cursor e esse temporizador seria suspenso quando a janela perdesse o foco (talvez também definisse o estado como não visível), e começou novamente quando o foco retorna. Mas isso está simplificando a porcaria disso. ;)

    
por 08.01.2014 / 19:57