add an allow_fallback option when opening a theme
This commit is contained in:
parent
5e50b406d0
commit
5588c49335
3 changed files with 7 additions and 2 deletions
|
@ -261,7 +261,7 @@ gint main(gint argc, gchar **argv)
|
||||||
/* load the theme specified in the rc file */
|
/* load the theme specified in the rc file */
|
||||||
{
|
{
|
||||||
RrTheme *theme;
|
RrTheme *theme;
|
||||||
if ((theme = RrThemeNew(ob_rr_inst, config_theme,
|
if ((theme = RrThemeNew(ob_rr_inst, config_theme, TRUE,
|
||||||
config_font_activewindow,
|
config_font_activewindow,
|
||||||
config_font_inactivewindow,
|
config_font_inactivewindow,
|
||||||
config_font_menutitle,
|
config_font_menutitle,
|
||||||
|
|
|
@ -65,6 +65,7 @@ static gboolean find_appearance(ParseState *ps, xmlNodePtr n, const gchar *names
|
||||||
#define FIND(type, args...) find_##type(&ps, root, args)
|
#define FIND(type, args...) find_##type(&ps, root, args)
|
||||||
|
|
||||||
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
|
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
|
||||||
|
gboolean allow_fallback,
|
||||||
RrFont *active_window_font, RrFont *inactive_window_font,
|
RrFont *active_window_font, RrFont *inactive_window_font,
|
||||||
RrFont *menu_title_font, RrFont *menu_item_font,
|
RrFont *menu_title_font, RrFont *menu_item_font,
|
||||||
RrFont *osd_font)
|
RrFont *osd_font)
|
||||||
|
@ -85,12 +86,15 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
|
||||||
name = NULL;
|
name = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!name) {
|
if (name == NULL && allow_fallback) {
|
||||||
if (!parse_load_theme(DEFAULT_THEME, &ps.doc, &root, &ps.path)) {
|
if (!parse_load_theme(DEFAULT_THEME, &ps.doc, &root, &ps.path)) {
|
||||||
g_message("Unable to load the theme '%s'", DEFAULT_THEME);
|
g_message("Unable to load the theme '%s'", DEFAULT_THEME);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (name == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
ps.inst = inst;
|
ps.inst = inst;
|
||||||
|
|
||||||
theme = g_new0(RrTheme, 1);
|
theme = g_new0(RrTheme, 1);
|
||||||
|
|
|
@ -236,6 +236,7 @@ struct _RrTheme {
|
||||||
/*! The font values are all optional. If a NULL is used for any of them, then
|
/*! The font values are all optional. If a NULL is used for any of them, then
|
||||||
the default font will be used. */
|
the default font will be used. */
|
||||||
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *theme,
|
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *theme,
|
||||||
|
gboolean allow_fallback,
|
||||||
RrFont *active_window_font, RrFont *inactive_window_font,
|
RrFont *active_window_font, RrFont *inactive_window_font,
|
||||||
RrFont *menu_title_font, RrFont *menu_item_font,
|
RrFont *menu_title_font, RrFont *menu_item_font,
|
||||||
RrFont *osd_font);
|
RrFont *osd_font);
|
||||||
|
|
Loading…
Reference in a new issue