覆盖 gtk3 主题颜色

iMi*_*Mil 13 theme gtk3

我想实现一些我认为需要几秒钟的事情,结果证明是一种精神崩溃:在 GTK3 主题中覆盖主题的选定项目颜色。

起初,我天真地认为覆盖 in 的值~/.config/gtk-3.0/gtk.css会成功,但不,它被忽略了。

$ cat ~/.config/gtk-3.0/gtk.css
@define-color selected_bg_color #ff4e9a;
Run Code Online (Sandbox Code Playgroud)

然后我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
Run Code Online (Sandbox Code Playgroud)

GTK3 是否过度设计以至于没有其他方法可以覆盖颜色?

编辑:在有人建议启动gnome外观”菜单之前,我正在运行 Mate Desktop,其中首选项适用于 GTK2。除了填充之外,
gtk-theme-config严格执行任何操作~/.config/gtk-3.0/gtk.css

nul*_*0id 1

我最近经历过这个。通常,有不止一条线来勾勒装饰的轮廓。在您执行任何操作之前,我建议您对要编辑的文件进行备份。

我最初完成此操作的方法是安装一个颜色选择器,这样我就可以获得我想要替换的颜色的确切十六进制代码。然后我使用查找和替换在 Vim 中编辑了主题的 gtk.css 文件。我使用 vim 命令将颜色 {#ff4e9a} 的所有实例替换为我自己的颜色:%s/#ff4e9a/#C7CDDB/g。进行更改后,请确保使用该文件写入文件:w并重新加载 shell。

通常,GTK 还会有一种用于某些窗口的“后备”颜色。/fallback如果您可以明显地区分窗口装饰,我建议您使用 Vim 搜索您的主题文件中的这个短语,或者使用颜色选择器。

GTK 非常挑剔,我在学习时弄乱了几次主题,所以要小心。