Risposte:
Per quanto ne so, non c'è modo di interrogare i colori dell'emulatore di terminale. Puoi cambiarli con \e]4;NUMBER;#RRGGBB\a
(dove si NUMBER
trova il numero del colore del terminale (0–7 per i colori chiari, 8–15 per i colori brillanti) ed #RRGGBB
è un valore di colore RGB esadecimale) se il tuo terminale supporta quella sequenza (riferimento: ctlseqs ).
I potenti meccanismi di combinazione di colori hanno spesso un'impostazione di sfondo scuro o chiaro che è necessario fornire per indicare se si dispone di uno sfondo nero o grigio scuro o di uno sfondo bianco o grigio chiaro.
Quando esegui la configurazione per te stesso, di solito è sufficiente decidere di utilizzare sempre lo stesso colore di sfondo.
TERM
e quindi non possono essere ottenuto dall'ambiente.
Se stai usando gnome-terminal puoi ottenere il colore di sfondo per qualsiasi profilo, in questo caso per il profilo predefinito come
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
allora puoi decidere come impostare il tuo prompt di conseguenza.
Con xterm, è possibile eseguire una query sul colore di sfondo con la \e]11;?\a
sequenza di escape. Devi leggere la risposta dal terminale. C'è un xtermcontrol
comando che lo fa per te:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0