Переопределить цвет фона темы для определенных приложений

При использовании пользовательской темы (в моем конкретном случае Equinox Evolution Midnight) менеджер в разделе " Система"> "Установки"> "Внешний вид"> "Тема"> "Настройка"> "Цвета" действительно отражает фактическое общесистемное моделирование, но в некоторых приложениях ( LibreOffice, Bluefish Editor и многие другие) фактически отменяют эту тему, поскольку отображают белый фон. Поэтому мне было интересно, есть ли какой-то централизованный способ управления такими исключениями (как на самом деле я хотел бы, чтобы все мои текстовые редакторы переопределяли темный фон), или я должен настроить это для каждого приложения?

Любое руководство будет искренне оценено, большое спасибо заранее.

3 ответа

Во-первых, приложение GTKParasite не обрабатывает темы вообще. Возможно, было бы полезно определить, является ли некорректно работающее приложение приложением GTK, и определить класс виджета редактора. В Windows говорят, это Spy++ от GTK.

Изменение цвета редактора влияет на множество приложений, которые непосредственно используют виджет GtkText (и в некоторой степени виджет GtkSourceView в корне синтаксических редакторов окраски, таких как gedit и geany).

Такие приложения, как Firefox и *Office, не являются настоящими приложениями GTK, у них есть собственный набор кроссплатформенных виджетов, который отображает декорации GTK, но не имеет связи с реальным классом текстового редактора.

Bluefish - настоящее приложение GTK, но, похоже, реализует свой собственный виджет текстового редактора, поскольку он совсем не похож на GtkSourceView или SciTe. Вы, вероятно, найдете множество приложений, которые приходят к выводу, что весь текстовый фон должен быть белым, и изменение их глобально невозможно без некоторой настройки для каждого приложения.

Вы можете добавить опции темы в ваш ~/.gtkrc. Я не уверен на 100%, как работает тематика gtk (от руки), но добавить параметры, которые нужно применить, должно быть относительно легко, скопировав их из файла gtkrc другой темы или темы, которую вы используете в настоящее время.

Эта страница также содержит некоторую информацию о темах GTK+ (не для GTK+ 3.x).

Если вы хотите, чтобы LibreOffice отображал вашу текущую тему, все, что вам нужно сделать, это установить libreoffice-gtk

sudo apt-get install libreoffice-gtk 

Это должно легко позаботиться об этом.

Bluefish немного сложнее. Создатели тем могут адаптировать Bluefish так, как они хотят, но это требует уникальной настройки. Таким образом, вы можете связаться с автором понравившейся вам темы, чтобы сообщить ему, какие программы не отображают эту тему точно. Я уверен, что они хотели бы знать об этом. Или вы можете настроить его, если хотите, инструкции здесь. Или, я думаю, вы могли бы использовать другой редактор, который включает в себя тему GTK по умолчанию. В любом случае, связаться с автором вашей темы, вероятно, лучший маршрут.

Что касается вашего вопроса о централизованном контроле над темами, похоже, что одним из решений является GTKParasite, который я нашел через stackoverflow. На своей странице About он утверждает, что является Firebug приложений GTK+. Я лично еще не пробовал, но это описание звучит немного интригующе. И, возможно, очень похоже на то, что вы ищете. Кажется, стоит проверить.

Другие вопросы по тегам