Respostas:
Até onde eu sei, não há como consultar as cores do emulador de terminal. Você pode alterá-los com \e]4;NUMBER;#RRGGBB\a
(onde NUMBER
é o número da cor do terminal (0–7 para cores claras, 8–15 para cores brilhantes) e #RRGGBB
é um valor hexadecimal da cor RGB) se o seu terminal suportar essa sequência (referência: ctlseqs ).
Mecanismos poderosos de esquema de cores geralmente possuem uma configuração de plano de fundo escuro ou claro que você deve fornecer para indicar se possui um plano de fundo preto ou cinza escuro ou um plano de fundo branco ou cinza claro.
Quando você está configurando para si mesmo, geralmente basta decidir que você sempre usará a mesma cor de fundo.
TERM
e, portanto, não podem ser obtido do meio ambiente.
Se você estiver usando o gnome-terminal, poderá obter a cor de fundo de qualquer perfil, neste caso, o perfil Padrão, como
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
então você pode decidir como definir seu prompt adequadamente.
Com o xterm, você pode consultar a cor do plano de fundo com a \e]11;?\a
sequência de escape. Você precisa ler a resposta do terminal. Há um xtermcontrol
comando que faz isso para você:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0