Como posso tornar os códigos de cores ANSI RGB em negrito?

0

Eu tenho aprendido como personalizar meu prompt com cores. Eu entendo que você pode definir texto vermelho com

\e[0;31m

e defina uma cor RGB (no exemplo a seguir, R = 255, G = 95, B = 255) como

\e[38;2;255;95;255m

Para tornar o primeiro comando em negrito, basta alterar 0 para 1:

\e[1;31m

Mas como tornar o comando RGB em negrito?

    
por wxyz 08.11.2018 / 01:16

2 respostas

1

Você pode combinar os dois:

printf %b == '\e[1m' '\e[38;2;255;95;255m' FOO '\e[m' == '\n'

O primeiro define o atributo negrito, o segundo define a cor.

Você deve verificar se o emulador de terminal realmente suporta caracteres em negrito (e não está emulando-os com vídeo colorido / reverso ou apenas ignorá-los em alguns modos, como o linux vt) e habilitá-lo se estiver desabilitado. A maioria dos emuladores de terminal que trabalham com o X11 não precisam de configuração extra para isso.

para xterm você pode ter que definir *colorBDMode: false em .Xresources se ele foi desativado de alguma forma. O mesmo vale para os caracteres itálicos e sublinhados: *colorITMode: false , *colorBLMode: false .

    
por 08.11.2018 / 20:45
0

Bold é um atributo de vídeo relacionado ao personagem, geralmente linhas mais grossas, mas que em alguns dispositivos é imitado usando cores brilhantes (uma mudança na intensidade).

RGB já dá a intensidade da cor, então no máximo você encontrará alguns terminais fazendo algo como mudar um pouco os níveis - mas nada com o que você pode contar terminais diferentes.

    
por 08.11.2018 / 01:35