/* load the theme specified in the rc file */
{
RrTheme *theme;
- if ((theme = RrThemeNew(ob_rr_inst, config_theme,
+ if ((theme = RrThemeNew(ob_rr_inst, config_theme, TRUE,
config_font_activewindow,
config_font_inactivewindow,
config_font_menutitle,
#define FIND(type, args...) find_##type(&ps, root, args)
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
+ gboolean allow_fallback,
RrFont *active_window_font, RrFont *inactive_window_font,
RrFont *menu_title_font, RrFont *menu_item_font,
RrFont *osd_font)
name = NULL;
}
}
- if (!name) {
+ if (name == NULL && allow_fallback) {
if (!parse_load_theme(DEFAULT_THEME, &ps.doc, &root, &ps.path)) {
g_message("Unable to load the theme '%s'", DEFAULT_THEME);
return NULL;
}
}
+ if (name == NULL)
+ return NULL;
+
ps.inst = inst;
theme = g_new0(RrTheme, 1);
/*! The font values are all optional. If a NULL is used for any of them, then
the default font will be used. */
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *theme,
+ gboolean allow_fallback,
RrFont *active_window_font, RrFont *inactive_window_font,
RrFont *menu_title_font, RrFont *menu_item_font,
RrFont *osd_font);