+ g_warning("Unable to find a valid config file, using defaults");
+ return r;
+}
+
+gboolean parse_load_theme(const gchar *name, xmlDocPtr *doc, xmlNodePtr *root,
+ gchar **retpath)
+{
+ GSList *it;
+ gchar *path;
+ gboolean r = FALSE;
+
+ /* backward compatibility.. */
+ path = g_build_filename(g_get_home_dir(), ".themes", name,
+ "openbox-3", "themerc.xml", NULL);
+ if ((r = parse_load(path, "openbox_theme", doc, root)))
+ *retpath = g_path_get_dirname(path);
+ g_free(path);
+
+ if (!r) {
+ for (it = xdg_data_dir_paths; !r && it; it = g_slist_next(it)) {
+ path = g_build_filename(it->data, "themes", name, "openbox-3",
+ "themerc.xml", NULL);
+ if ((r = parse_load(path, "openbox_theme", doc, root)))
+ *retpath = g_path_get_dirname(path);
+ g_free(path);
+ }
+ }
+ if (!r)
+ g_warning("Unable to load the theme %s", name);