Я знаю о gsettings
и dconf
, но я не могу найти упоминание об активном профиле. Кажется, что можно только перечислить профили, не зная то, что является текущим профилем.
Я хочу запросить цвет фона для установки знаний в Vim соответственно.
Вопрос был изменен в комментариях: Как получить цвет фона? Для этого, команды xtermcontrol --get-bg
может использоваться.
Эта конкретная команда полагается на эмулятор терминала, поддерживающий escape-последовательность OSC 11, которая обычно сочетается с OSC 12 (передний план; xtermcontrol --get-fg
), OSC 4 (цвета палитры; xtermcontrol --get-color0
.. --get-color15
) и немногие другие. Некоторые популярные эмуляторы терминала реализуют их, некоторые другие популярные не делают, таким образом, эти команды не работают везде. Виджет VTE и следовательно в свою очередь основанные на VTE эмуляторы терминала такой как gnome-terminal
действительно поддерживайте их.
Эти escape-последовательности довольно хитры, когда они используются для запросов цветов вместо того, чтобы установить их: ответ введен эмулятором терминала точно, как будто он прибыл из клавиатуры, то есть, как будто пользователь ввел его. xtermcontrol
чтения этот вход и затем печатают, как произведено, скрывая эту техническую деталь. (И если Вы действительно хотите, можно одурачить xtermcontrol
сообщить о неправильном ответе путем ручного ввода один с клавиатуры, ха-ха.)
Назад к исходному вопросу:
Нет никакого способа запросить текущий профиль в терминале гнома. Почему?
Чтение gsettings
или dconf
не может работать по двум причинам:
Они содержат статическую конфигурацию (настройки) терминала гнома, не информация о выполнении. Даже если бы они содержали информацию о выполнении, то они должны были бы содержать информацию для всех открытых окон терминала гнома и вкладок, каждая из которых могла бы использовать отдельный профиль. И затем так или иначе мы должны были бы все еще смочь определить который искать.
Они могут только работать локально, не через, например, a su
или ssh
.
терминал гнома мог инициализировать переменную среды, когда окно или вкладка открыто, но нет никакого способа обновить его впоследствии, если профиль изменяется. (См. также дискуссию о $COLORFGBG
в https://bugzilla.gnome.org/show_bug.cgi? id=733423.)
Это могло сообщить о текущем профиле как об ответе на некоторую escape-последовательность, как будто пользователь ввел его с клавиатуры (так же к вышеупомянутому OSC 4, 10, 11). Однако нет никакого стандарта для этого, и это даже имело бы последствия безопасности (см. https://bugzilla.gnome.org/show_bug.cgi? id=151260), плюс, по-видимому, никакая поддержка в xtermcontrol
утилита на много лет вперед (heck это еще даже не поддерживает 256 цветов).