Aprendi que posso mudar o formato do PS1, principalmente a cor da corda. Então, é possível alterar a cor com base na cor de fundo do shell? Ou, como posso detectar a cor de fundo do shell?
12
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
então você pode decidir como definir seu prompt adequadamente.
fonte
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á umxtermcontrol
comando que faz isso para você:fonte