shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Cores no dialog


From: diramos
Subject: Re: [shell-script] Cores no dialog
Date: Wed, 27 Nov 2013 22:20:46 -0200

Mestre Julio!
Inestimáveis os ensinamentos seus.


Mas o problema é que nem sempre vai ser verde o texto do arquivo (lembre-se que 
estou danto um "cat" no arquivo).
Mas eu resolvi aqui. Veja:

$ echo "\Z2Verde" >/tmp/verde.log

$ cat /tmp/verde

\Z2Verde

$ dialog --colors --backtitle "Mostrando cores" --title "Mostrando cores" 
--infobox "`cat /home/nagios/verde.log`" 15 85

Verde

Ou seja: o dialog tem o parâmetro --colors, e antes da string que vai gravar no 
arquivo, você coloca \Z1, \Z2,..., conforme a cor que você quiser.

PROBLEMA RESOLVIDO!!!!

Grato, mais uma vez.

Dito


De: Julio C. Neves < address@hidden >
Enviada: Quarta-feira, 27 de Novembro de 2013 13:03
Para: address@hidden < address@hidden >
Assunto: Re: [shell-script] Cores no dialog
















 



  


    
      
      
      Pô, no YAD é covardia. No YAD, vc pode até exibir uma palheta de cores 
para

o usuário escolher a cor desejada.



Veja esse texto, que tb copiei do Livro Bombando o Shell, que além do YAD,

tb mergulha (muito) fundo no Dialog, Zenity e no Kdialog.



Diálogo --color



Esse dialogo, que não existe no *Zenity*, serve para a escolha de uma cor.

Suas principais opções são:



*Opção*



*Efeito*



*--init-color=COR*



Estabelece COR como o padrão (*default*) abrindo a caixa com este valor



*--extra*



Dobra a quantidade de informações sobre a cor na saída



*--palette[=ARQUIVO]*



Usa uma palheta de cores descrita em ARQUIVO. O padrão (*default*) é o

arquivo /etc/X11/rgb.txt.



Vamos analisar o seguinte comando executado diretamente no *prompt:*



*$ yad --color \*



*--init-color gray50 \*



*--extra*



#7f7f7f7f7f7f



[image: Imagem inline 1]



Repare agora uma pesquisa no arquivo /etc/X11/rgb.txt



*$ grep gray50 /etc/X11/rgb.txt*



127 127 127 gray50



Conforme você pode ver pelo grep acima, o padrão RGB para a cor gray50

é127 127 127 e

é exatamente isso que apareceu como valor inicial na palheta de cores, já

que usamos a opção --init-color gray50 (observe também o ponteiro do mouse

mostrando a área pré definida).



A saída do diálogo seria a cor selecionada no formato #rrggbb, onde rr é um

hexadecimal que varia de 00 a ff (de zero a 256 em decimal) e define a

intensidade do vermelho (*R*ed). O mesmo raciocínio poderia ser usado para

gg (verde → *G*reen) e bb (azul → *B*lue). Ora, assim sendo a saída deveria

ser #7F7F7F - que é o valor apresentado na caixa Color *n*ame - no entanto

obtivemos na saída #7f7f7f7f7f7f . Isso se dá devido ao uso da opção--extra.



Outra informação que podemos tirar deste diálogo é que a caixa Color

*n*ameapresenta o valor#7F7F7F, no

entanto obtivemos na saída #7f7f7f7f7f7f . Isso se dá devido ao uso da

opção--extra.



Abcs,

Julio

A partir de 02/12 estarei ministrando um curso completo de Shell no Rio de

Janeiro <http://edx.srv.br/treinamento/shell-script/>.

*@juliobash*



*Facebook? Neither that the cow cough... ​ ;)​*



Em 27 de novembro de 2013 14:06, Cléoson Barreto

escreveu:



>

>

> Olá!

>

>      No dialog não sei se tem como. No yad dá pra fazer assim:

>

> $ cat /tmp/verde.log

> VERDE

>

> $ yad --title "Mostrando cores" --text-info --fore=green

> --filename=/tmp/verde.log

>

>

>

>

> Em 27 de novembro de 2013 10:28, nerobarrabas escreveu:

>

>>

>>

>> Mestres,

>>

>> $ echo -e " \033[0;32m Verde  \033[0m" > /tmp/verde.log

>>

>> $ cat /tmp/verde.log

>>

>>  Verde

>>

>> $ dialog --backtitle "Mostrando cores" --title "Mostrando cores"

>> --infobox "`cat /tmp/verde.log`" 15 85

>>

>> Ao invés de retornar Verde na caixa de diálogo, retorna:

>>

>>  ^[[0;32m Verde  ^[[0m

>>

>> Teriam idéia de como fazer prá retornar Verde?

>>

>> Grato desde já.

>>

>> Nero

>>

>>

>>

>>

>

>

> --

> []'s

> Cléoson.

>

>   

>



[As partes desta mensagem que não continham texto foram removidas]






    
     

    
    






  
  
  










reply via email to

[Prev in Thread] Current Thread [Next in Thread]