我在 Fedora 17 上使用 Cinnamon 和 Gnome Shell(Gnome 3),并采用深色主题布拉普尔。相当多的应用程序不能很好地处理深色主题。
在 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 有多好用……
答案1
我遇到了同样的问题,OpenOffice + 黑色主题看起来很丑。似乎没有什么比旧GTK2_RC_FILES
变量更方便了,但看看这个:
gtk_css_provider_load_from_file()
应用程序可以通过使用或 gtk_style_context_add_provider_for_screen() 调用并添加提供程序 来使 GTK+ 解析特定的 CSS 样式表gtk_style_context_add_provider()
。此外,初始化 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
似乎没有可能覆盖主题名称(这有点愚蠢,应该修复),所以似乎唯一的方法是创建一个“假”主题目录。
答案2
我知道这是一个非常老的问题但这是在 GTK+3 中如何做到的。
GTK_THEME=Adwaita gnome-calculator
或使用
GTK_THEME=Adwaita:dark gnome-calculator
适用于 Adwaita 主题的深色版本。
答案3
GTK3+ 的工作解决方案:
在以下位置创建自定义 .desktop 文件〜/ .local /共享/应用程序/,你可以从/usr/共享/应用程序/
编辑并修改“执行官=”行,附加“环境 GTK_THEME=”之后"=",因此它看起来像这样:
Exec=env GTK_THEME='Numix Daily' /usr/share/dbeaver/dbeaver
为了方便起见,更改“名称=”到别的东西:
Name=DBeaver Community (Numix theme)
然后,运行更新桌面数据库。
我这里的示例是针对 DBeaver,但我已经使用 Libreoffice Writer 对其进行了测试并且它可以工作。