Відповіді:
Наскільки я знаю, немає можливості запитувати кольори емулятора терміналу. Ви можете змінити їх за допомогою \e]4;NUMBER;#RRGGBB\a
(де NUMBER
номер кінцевого кольору (0–7 для світлих кольорів, 8–15 для яскравих кольорів) і #RRGGBB
є шістнадцятковим значенням кольору RGB), якщо ваш термінал підтримує цю послідовність (посилання: ctlseqs ).
Потужні механізми кольорової гами часто мають темний або світлий фон, який потрібно надати, щоб вказати, чи є у вас чорний або темно-сірий фон, або білий або світло-сірий фон.
Коли ви налаштовуєте для себе, зазвичай достатньо вирішити, що ви завжди будете використовувати один і той же колір фону.
TERM
і тому не можуть бути отримані з навколишнього середовища.
Якщо ви використовуєте gnome-terminal, ви можете отримати колір тла для будь-якого профілю, в цьому випадку для профілю за замовчуванням як
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
то ви можете вирішити, як правильно встановити своє запит.
За допомогою xterm ви можете запитувати колір фону за допомогою \e]11;?\a
послідовності виходу. Вам потрібно прочитати відповідь з терміналу. Існує xtermcontrol
команда, яка робить це для вас:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0