2009/9/16 Julio C. Neves <[email protected]> > > Procure no histórico da lista que vc achará um screensaver que fiz, imitando > o Matrix. Creio que se usar matrix como palavra chave vc achará.
Bom dia, Julio. Obrigado pela sugestao. Olhei o script, mas vi que o principio dele eh diferente do meu. O seu escreve um caracter por vez na tela partindo de um unico processo. Nao ha concorrencia pelo uso do cursor de texto. O meu, por imprimir varios caracteres aleatoria e simultamneamente atraves do lancamento em background de varios processos do loop de escrita, pode (e de fato varias vezes acontece) de algum processo iniciado estar, por azar, tentando escrever o seu caracter na tela no mesmo momento que outro. Sei que eh possivel produzir um efeito semelhante criando um array de posicoes e entao, aleatoriamente, ir pegando as posicoes e trocando as cores dos caracteres. Mas isso seria um controle por parte do script e exigiria uma implementacao. Nada contra, mas... ... a minha ideia eh tentar evitar ter que implementar esse controle usando o fato que varios processos rodando simultaneamente em background resultam num controle semelhante, mas automatico, usando uma caracteristica do bash. So que ai eu caio nesse problema de eventual concorrencia. Entao, ou eu encontro uma forma de fazer um processo "perceber" se o cursor esta ocupando no momento em que o sleep aleatorio terminou, e portanto ele deve esperar mais um pouquinho, ou precisarei abandonar essa abordagem e partir para a implementacao citada acima. Eu poderia usar arquivos de lock para isso, mas parece meio brutal para algo tao instantaneo e simples como escrever um caracter. Outra ideia que me passou pela cabeca eh de alguma forma usar um fifo para por uma ordem no uso do cursor, mas nao sei se isso eh possivel com alguma caracteristica padrao do bash. Alguma dica? [] -- (o_ ------------------ __o //\ [email protected] _`\<, V_/_ --- www.lsd.org.br (_)/(_) ---------------------------------
