I'm trying to customize my Gtk+3.0 theme, when I make a change in my theme, I change between two themes (with MyUnity) to force applications to reload the theme and test mine. But when I do that, the theme is not refreshed to appreciate my changes, still in an old version, apparently Gtk+ is caching the theme information somewhere.

When I close and reopen session, I can appreciate my theme changes, but doing this for each change made is very annoying.

Is there a way to refresh my theme and see my changes (a command line program or an Gtk+ API call for example)?

  • Thanks, killing and relaunching a Gtk+ application actually works. – eagleoneraptor Jun 16 '12 at 20:35

This is rather simple and effective:

  1. While editing your theme open a Nautilus window
  2. Kill Nautilus with killall, then open nautilus from the Terminal
  3. Make your changes to the theme and kill nautilus again then relaunch it

You can see the changes you made witout doing anything difficult. Most elements that you change of the theme will reflect in Nautilus.


You can use this bash function to reload the theme without reloading the shell, you can add it to your ~/.bashrc file.

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

To use it, run:

$ reload_gtk_theme

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.