我想要实现一些我认为需要几秒钟但结果却是精神崩溃的事情:覆盖主题所选项目GTK3 主题中的颜色。
起初,我天真地认为覆盖其中的值~/.config/gtk-3.0/gtk.css
会成功,但不,它被忽略了。
$ cat ~/.config/gtk-3.0/gtk.css
@define-color selected_bg_color #ff4e9a;
然后我rsync
通过修改 的值/usr/share/themes/<name>
来更改其中想要的颜色,但这没有任何作用。我 编辑了文件中的所有颜色值。还是被忽视了。~/.themes
selected_bg_color
sed
css
最后,我发现覆盖一种简单颜色的唯一方法是“注册”本地复制的主题:
cd /home/foo/.themes/themename/gtk-3.0
glib-compile-resources gtk.gresource.xml
GTK3 是否过度设计以至于没有其他方法来覆盖颜色?
编辑:在有人建议启动gnome
之前外貌菜单,我正在运行 Mate Desktop,其中首选项适用于 GTK2。除了填充之外
也严格不执行任何操作。gtk-theme-config
~/.config/gtk-3.0/gtk.css
答案1
我最近经历过这个。通常,有不止一条线来勾勒装饰的轮廓。在您执行任何操作之前,我建议您对要编辑的文件进行备份。
我最初完成此操作的方法是安装一个颜色选择器,这样我就可以获得我想要替换的颜色的确切十六进制代码。然后我使用查找和替换在 Vim 中编辑了主题的 gtk.css 文件。我使用 vim 命令将颜色 {#ff4e9a} 的所有实例替换为我自己的颜色:%s/#ff4e9a/#C7CDDB/g
。进行更改后,请确保使用该文件写入文件:w
并重新加载 shell。
通常,GTK 还会有一种用于某些窗口的“后备”颜色。/fallback
如果您可以明显地区分窗口装饰,我建议您使用 Vim 搜索您的主题文件中的这个短语,或者使用颜色选择器。
GTK 非常挑剔,我在学习时弄乱了几次主题,所以要小心。