0

阅读有关如何通过 CSS 在 GTK3 中进行主题化的信息后,我开始在 Ubuntu 13.04 中使用我的默认主题,即 Ambiance。它的来源在/usr/share/themes/Ambiance/gtk-3.0/.

现在有趣的是,我尝试更改gtk-main.css此目录下文件中的颜色(在@define-color 语句中),令我惊讶的是,即使重新启动计算机,更改也没有生效。

后来,我发现有一个settings.ini文件(在同一个文件夹中)包含以下内容:

[Settings]
gtk-color-scheme = "base_color:#ffffff\nbg_color:#f2f1f0\ntooltip_bg_color:#000000\nselected_bg_color:#ffffff\ntext_color:#3C3C3C\nfg_color:#4c4c4c\ntooltip_fg_color:#ffffff\nselected_fg_color:#ffffff\nlink_color:#DD4814\nbg_color_dark:#3c3b37\nfg_color_dark:#dfdbd2"
gtk-auto-mnemonics = 1

WTF,所以内容gtk-main.css被嵌入settings.ini到变量 gtk-color-scheme 内的文件中。更改此变量确实会更改我当前 Gtk 主题中的颜色。

那么我对此有一些疑问:

  • 为什么会有这种冗余?(他们本可以删除文件 gtk-main.css 以避免混淆。)
  • 这是一个特定于 ubuntu 的 hack 吗?如果不是,那么这是在哪里记录的?我在 Gnome 网站上没有找到任何关于此的信息。
  • 这样做的目的是什么?
4

2 回答 2

1

显然,这是一种覆盖@define-color 规则的方法,如此处所述,稍后在此处解释

于 2013-08-12T22:31:06.547 回答
0

简明扼要:你会改变主题。

当您编辑这些值时,您将如何恢复到原始值?

您不能,但如果您的更改进入.ini,则可以.css使用此.css文件将其重置为文件的值。

于 2017-07-30T21:24:14.883 回答