分页: 1 / 1

gtkrc 变量覆盖问题

发表于 : 2015-08-27 20:46
自由建客
我只是改了改颜色而已,就那么一行内容。下按下面写法。

代码: 全选

include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
gtk-color-scheme = "base_color:#FFFFFF\nfg_color:#000000\ntooltip_fg_color:#000000\nselected_bg_color:#9C8877\nselected_fg_color:#FFFFFF\ntext_color:#000000\nbg_color:#E6DDD5\ntooltip_bg_color:#F5F5B5"
结果竟然是 Clearlooks/gtk-2.0/gtkrc 定义的蓝色,而不是我定义的咖啡色。
於是我想,难倒后面定义的并不能覆盖前面所定义的,便调换上下行顺序,结果依然不行。
求指导!

Re: gtkrc 变量覆盖问题

发表于 : 2015-08-27 22:52
astolia
是后面的定义覆盖前面的没错。但rc文件的解析方式和你想象的不一样。
gtk-color-scheme里定义的selected_bg_color之类的不过是种环境变量,只有对具体的样式进行设置时用到才会去看其当前的值

类似于下面的shell脚本一样

代码: 全选

color="#000000"
menu_color=$color
color="#ffffff"
不管你把color="#ffffff"放在最前还是最后menu_color的值只会是"#000000"

可以自己去include的文件中看看哪里引用了@selected_bg_color,其上面哪里定义了selected_bg_color

Re: gtkrc 变量覆盖问题

发表于 : 2015-08-27 23:00
自由建客
astolia 写了:是后面的定义覆盖前面的没错。但rc文件的解析方式和你想象的不一样。
gtk-color-scheme里定义的selected_bg_color之类的不过是种环境变量,只有对具体的样式进行设置时用到才会去看其当前的值

类似于下面的shell脚本一样

代码: 全选

color="#000000"
menu_color=$color
color="#ffffff"
不管你把color="#ffffff"放在最前还是最后menu_color的值只会是"#000000"

可以自己去include的文件中看看哪里引用了@selected_bg_color,其上面哪里定义了selected_bg_color
原来如此,只有复制文件改了,不能 include。