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

6665
aef

Я использую и 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 ...

9
GNOME Shell использует GTK3, а не GTK2 fpmurphy1 11 лет назад 0
Я знаю это. Я попробовал оба. aef 11 лет назад 0

2 ответа на вопрос

6
leoluk

I have got the same problem, OpenOffice + black theme looks ugly. Is seems there's nothing which is as convenient as the old GTK2_RC_FILES variable, but take a look at this:

An application can cause GTK+ to parse a specific CSS style sheet by calling gtk_css_provider_load_from_file() and adding the provider with gtk_style_context_add_provider() or gtk_style_context_add_provider_for_screen(). In addition, certain files will be read when GTK+ is initialized. First, the file XDG_CONFIG_HOME/gtk-3.0/gtk.css is loaded if it exists. Then, GTK+ tries to load HOME/.themes/theme-name/gtk-3.0/gtk.css, falling back to GTK_DATA_PREFIX/share/themes/theme-name/gtk-3.0/gtk.css, where theme-name is the name of the current theme (see the "gtk-theme-name" setting) and GTK_DATA_PREFIX is the prefix configured when GTK+ was compiled, unless overridden by the GTK_DATA_PREFIX environment variable.

Source

This means that by doing this, you force GTK to use the default plain theme:

env GTK2_RC_FILES= GTK_DATA_PREFIX= libreoffice --writer 

There doesn't seem to be a possibility to override the theme name (which is a bit stupid and should be fixed), so it seems the only way would be to create a "fake" theme directory.

6
Michael Tunnell

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

GTK_THEME=Adwaita gnome-calculator 

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

GTK_THEME=Adwaita:dark gnome-calculator 

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

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

Похожие вопросы