为什么ubuntu的Ambiance GTK3主题有一个嵌入CSS的settings.ini文件?

时间:2013-08-11 12:30:54

标签: css ubuntu themes gtk3

通过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的内容嵌入在变量gtk-color-scheme内的settings.ini文件中。更改此变量确实会更改当前Gtk主题中的颜色。

那么我对此有一些疑问:

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

2 个答案:

答案 0 :(得分:1)

显然,这是一种覆盖@ define-color规则的方法,如上所述here,后来解释为here

答案 1 :(得分:0)

简洁明了:你会改变主题。

  

当你编辑那些时,你将如何恢复原始值?

您无法,但如果您的更改进入.ini,则可以将其重置为.css文件的值.css文件。