重新加载 Gtk+ 3.0 主题

重新加载 Gtk+ 3.0 主题

我正在尝试自定义我的 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

这相当简单且有效:

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

您无需费力即可看到所做的更改。您对主题所做的大多数更改都会反映在 Nautilus 中。

相关内容