我正在尝试自定义我的 Gtk+3.0 主题,当我更改主题时,我会在两个主题之间切换(使用 MyUnity)以强制应用程序重新加载主题并测试我的主题。但是当我这样做时,主题不会刷新以显示我的更改,仍然是旧版本,显然 Gtk+ 正在某处缓存主题信息。
当我关闭并重新打开会话时,我可以欣赏我的主题变化,但对每个变化都这样做非常烦人。
有没有办法刷新我的主题并查看我的更改(例如命令行程序或 Gtk+ API 调用)?
答案1
您可以使用此 bash 函数重新加载主题,而无需重新加载 shell,您可以将其添加到您的~/.bashrc
文件中。
function reload_gtk_theme() {
theme=$(gsettings get org.gnome.desktop.interface gtk-theme)
gsettings set org.gnome.desktop.interface gtk-theme ''
sleep 1
gsettings set org.gnome.desktop.interface gtk-theme $theme
}
要使用它,请运行:
$ reload_gtk_theme
答案2
这相当简单且有效:
- 编辑主题时打开 Nautilus 窗口
- 使用以下命令终止 Nautilus
killall
,然后从终端打开 nautilus - 对主题进行更改并再次终止 nautilus,然后重新启动它
您无需费力即可看到所做的更改。您对主题所做的大多数更改都会反映在 Nautilus 中。