Réponses:
Pour autant que je sache, il n'y a aucun moyen d'interroger les couleurs de l'émulateur de terminal. Vous pouvez les modifier avec \e]4;NUMBER;#RRGGBB\a
(où NUMBER
est le numéro de couleur du terminal (0–7 pour les couleurs claires, 8–15 pour les couleurs vives) et #RRGGBB
est une valeur de couleur RVB hexadécimale) si votre terminal prend en charge cette séquence (référence: ctlseqs ).
Les mécanismes de jeu de couleurs puissants ont souvent un paramètre de fond sombre ou clair que vous devez fournir pour indiquer si vous avez un fond noir ou gris foncé, ou un fond blanc ou gris clair.
Lorsque vous configurez vous-même, il suffit généralement de décider que vous utiliserez toujours la même couleur d'arrière-plan.
TERM
et ne peuvent donc pas être provenant de l'environnement.
Si vous utilisez gnome-terminal, vous pouvez obtenir la couleur d'arrière-plan pour n'importe quel profil, dans ce cas pour le profil par défaut comme
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
vous pouvez alors décider comment définir votre invite en conséquence.
Avec xterm, vous pouvez interroger la couleur d'arrière-plan avec la \e]11;?\a
séquence d'échappement. Vous devez lire la réponse du terminal. Il existe une xtermcontrol
commande qui fait cela pour vous:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0