如何在每个应用程序中覆盖GTK3 / Gnome Shell主题


12

我在Fedora 17上同时使用了Cinnamon和Gnome Shell(Gnome 3),同时使用深色主题Blapple。很多应用程序无法很好地处理深色主题。

在Gnome 2中,我为这些程序提供了一个简单的解决方案。我只是指示他们通过如下所示的环境变量来使用浅色主题GTK2_RC_FILES(示例在某些2009 Ubuntu Gnome 2设置中起作用):

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 2013年

我知道。我都尝试过。
2013年

Answers:


8

我有同样的问题,OpenOffice +黑色主题看起来很难看。似乎没有什么比旧GTK2_RC_FILES变量更方便了,但请看一下:

应用程序可以通过调用gtk_css_provider_load_from_file()提供程序gtk_style_context_add_provider()或使用gtk_style_context_add_provider_for_screen()并添加提供 程序来使GTK +解析特定的CSS样式表。另外,初始化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

似乎没有可能覆盖主题名称(这有点愚蠢,应该固定),因此似乎唯一的方法是创建“伪”主题目录。


8

我知道这是一个非常老的问题,但这是如何在GTK + 3中做到的。

GTK_THEME=Adwaita gnome-calculator

或使用

GTK_THEME=Adwaita:dark gnome-calculator

用于Adwaita主题的深色变体。


好发现;这适用于gnome-calculator,但不适用于所有应用程序:(
Ninj0r
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.