Как переопределить темы оболочки GTK3 / Gnome для каждого приложения

12

Я использую и Cinnamon, и Gnome Shell (Gnome 3) в Fedora 17 с темной темой Blapple . Многие приложения не могут хорошо обрабатывать темные темы.

В Gnome 2 у меня было простое решение для этих программ. Я просто поручил им использовать легкую тему через переменную окружения, GTK2_RC_FILESкак показано ниже (пример работал в некоторых настройках Ubuntu Gnome 2 2009):

env GTK2_RC_FILES=/usr/share/themes/Human/gtk-2.0/gtkrc ooffice --writer

Теперь в Gnome 3 это не работает. Я пробовал это во многих различных вариантах команд, таких как следующие, но пока безуспешно:

env GTK2_RC_FILES=/usr/share/themes/Adwaita/gtk-3.0/gtkrc GTK3_RC_FILES=/usr/share/themes/Adwaita/gtk-3.0 libreoffice --writer

Я не могу найти документацию об этом нигде. Если вы знаете, как это сделать или где я могу получить эту информацию, пожалуйста, сообщите мне.

Зачем вообще переопределять : В случае с LibreOffice и OpenOffice попытка обойти проблемы кажется бесполезной. Когда тема Blapple установлена, все имеет серый фон. Попытка переопределить цвет фона по умолчанию в Calc, например, делает фон белым, но также переопределяет каждую ячейку фона на белый, что ужасно. Не позволяйте мне начать с того, как работает хороший Impress ...

Американские экспедиционные войска
источник
GNOME Shell использует GTK3 - не GTK2
fpmurphy
Я знаю это. Я попробовал оба.
AEF

Ответы:

8

У меня такая же проблема, тема OpenOffice + black выглядит некрасиво. Кажется, нет ничего более удобного, чем старая GTK2_RC_FILESпеременная, но взгляните на это:

Приложение может заставить GTK + проанализировать конкретную таблицу стилей CSS, вызвав gtk_css_provider_load_from_file()и добавив провайдера с помощью gtk_style_context_add_provider()или gtk_style_context_add_provider_for_screen (). Кроме того, некоторые файлы будут прочитаны при инициализации GTK +. Сначала файл XDG_CONFIG_HOME/gtk-3.0/gtk.cssзагружается, если он существует. Затем GTK + пытается загрузить HOME/.themes/theme-name/gtk-3.0/gtk.css, отступая туда GTK_DATA_PREFIX/share/themes/theme-name/gtk-3.0/gtk.css, где theme-name - это имя текущей темы (см. "gtk-theme-name" Настройку), и GTK_DATA_PREFIXэто префикс, настроенный при компиляции GTK +, если он не переопределен GTK_DATA_PREFIXпеременной окружения.

Источник

Это означает, что, делая это, вы заставляете GTK использовать простую тему по умолчанию:

env GTK2_RC_FILES= GTK_DATA_PREFIX= libreoffice --writer

Кажется, что нет возможности переопределить имя темы (что немного глупо и должно быть исправлено), поэтому, похоже, единственный способ - создать «поддельный» каталог темы.

leoluk
источник
8

Я знаю, что это очень старый вопрос, но как это сделать в GTK + 3.

GTK_THEME=Adwaita gnome-calculator

или использовать

GTK_THEME=Adwaita:dark gnome-calculator

для темного варианта темы Adwaita.

Майкл Туннелл
источник
Хорошая находка; это работает для gnome-калькулятора, но не для всех приложений :(
Ninj0r