重新加载 Gtk+ 3.0 主题

eag*_*tor 10 themes gtk3

我正在尝试自定义我的 Gtk+3.0 主题,当我更改我的主题时,我会在两个主题之间切换(使用 MyUnity)以强制应用程序重新加载主题并测试我的主题。但是当我这样做时,主题并没有刷新以欣赏我的更改,仍然是旧版本,显然 Gtk+ 将主题信息缓存在某处。

当我关闭并重新打开会话时,我可以欣赏我的主题更改,但是对所做的每个更改都执行此操作非常烦人。

有没有办法刷新我的主题并查看我的更改(例如命令行程序或 Gtk+ API 调用)?

小智 6

您可以使用此 bash 函数重新加载主题而无需重新加载外壳,您可以将其添加到您的~/.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
}
Run Code Online (Sandbox Code Playgroud)

要使用它,请运行:

$ reload_gtk_theme
Run Code Online (Sandbox Code Playgroud)


Uri*_*era 4

这是相当简单有效的:

  1. 编辑主题时打开 Nautilus 窗口
  2. 使用 杀死 Nautilus killall,然后从终端打开 nautilus
  3. 对主题进行更改并再次杀死 nautilus 然后重新启动它

您无需做任何困难就能看到自己所做的改变。您更改主题的大多数元素都会反映在 Nautilus 中。