[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cores corre��o
From: |
moysespr |
Subject: |
Re: cores correção |
Date: |
Mon, 12 Jan 2004 22:21:13 -0800 (PST) |
Passei uma função para mostrar as cores. Ela está incompleta. Bastou usar a
função do Aurélio para ver as falhas. Infelizmente so fiz isso depois de
postar.
Assim, descobri que não sabia nada de códigos de escape e fui dar uma ligeira
estudada. Descobri que para varrer continuamente todas as faixas o resultado
não caberia na tela, além de ser ruim aos olhos. Bem, só de teimoso, reescrevi
a função e senti falta de outra (cor), que agora já aproveito para usar na
primeira (cores). Ei-las, caso alguém tenha interesse:
---
cores(){ # Mostra cores disponÃveis. Usa: echo -en \"\e[4$b;3$f;$t\"m
cor 03;echo -n " Uso: cor n onde n é o número mostrado ou echo \
-ne \"\\e[3f;4b;t\" onde ";echo -e "\e[0m";cor 03;echo -n " f=algarismo1, \
b=alg.2 e t=alg.3\; é possÃvel ter efeito após o \"t\", de mais ";\
echo -e "\e[0m";cor 03;echo " 2 algarismos simultaneos: 4=underline \
5=blink, dependendo do term / xterm "
n=0;b=-1;while [ $[b++] -lt 7 ];do \
for t in "" 1;do f=-1;while [ $[f++] -lt 7 ];do V="$f$b$t "
cor $f$b$t;echo -n "${V:0:3}";echo -ne "\e[0;0m ";
[ $[n++] -gt 14 ]&&{ echo -ne "\e[0;0m""\n\n";n=0;};\
done;done;done
}
cor(){ # Seleciona cor de 2 a 5 digitos listada com a função cores
[ ${1:0:1} ]&&T="\e[3${1:0:1}";[ ${1:1:1} ]&&T=$T";4${1:1:1}"
[ ${1:2:1} ]&&T=$T";${1:2:1}";[ ${1:3:1} ]&&T=$T";${1:3:1}"
[ ${1:4:1} ]&&T=$T";${1:4:1}";[ $T ]&&T=$T"m";echo -en "\e[0m$T"
}
---
Por exemplo, a cor vista como 311, mas sublinhada e piscando, poderia ser
obtida com:
echo -ne "\e[33;41;1;4;5m"
ou com:
cor 31145
Lembrando que os valores de 1 a 8 (no echo) são independentes, e só podem ser
resetados individualmente com valores da faixa 21 a 28. O valor 0 faz o
serviço, mas reseta todos os bits, inclusive das cores. Exemplificando, 33;41
dá uma cor, 33;41;1 intensifica o foreground, apenas 33;41 novamente, não volta
à cor anterior.
Obs.: no meu sistema o term não sublinhou (4) e o xterm não piscou (5).
Achei uma página bem sintética e agradável com sequencias ANSI:
http://www.isthe.com/chongo/tech/comp/ansi_escapes.html
Na função cores, entre as amostras, estou resetando (0), quando na verdade
gostaria de voltar as cores anteriores à chamada dela, além de devolver o
term/xterm no estado original. Alguém sabe como obter as cores atuais?
Espero ter auxiliado os interessados no tema. Se persistirem falhas, agradeço
orientações.
Grato.
__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: cores correção,
moysespr <=