RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
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)
{
ParseState ps;
xmlNodePtr root;
if (name) {
if (!parse_load_theme(name, &ps.doc, &root, &ps.path)) {
- g_warning("Falling back to the default theme: '%s'",
+ g_message("Unable to load the theme '%s'", name);
+ g_message("Falling back to the default theme '%s'",
DEFAULT_THEME);
/* make it fall back to default theme */
name = NULL;
}
}
if (!name) {
- 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);
return NULL;
+ }
}
ps.inst = inst;
theme->a_focused_handle = RrAppearanceNew(inst, 0);
theme->a_unfocused_handle = RrAppearanceNew(inst, 0);
theme->a_menu = RrAppearanceNew(inst, 0);
- theme->a_menu_title = RrAppearanceNew(inst, 1);
+ theme->a_menu_title = RrAppearanceNew(inst, 0);
+ theme->a_menu_text_title = RrAppearanceNew(inst, 1);
theme->a_menu_normal = RrAppearanceNew(inst, 0);
theme->a_menu_disabled = RrAppearanceNew(inst, 0);
theme->a_menu_selected = RrAppearanceNew(inst, 0);
} else
theme->menu_font = RrFontOpenDefault(inst);
+ if (osd_font) {
+ theme->osd_font = osd_font;
+ RrFontRef(osd_font);
+ } else
+ theme->osd_font = RrFontOpenDefault(inst);
+
/* load direct dimensions */
if (!FIND(int, L("menu","overlap"),
&theme->menu_overlap, -100, 100))
&theme->titlebut_toggled_hover_focused_color, NULL))
theme->titlebut_toggled_hover_focused_color =
RrColorNew(inst,
- theme->titlebut_focused_unpressed_color->r,
- theme->titlebut_focused_unpressed_color->g,
- theme->titlebut_focused_unpressed_color->b);
+ theme->titlebut_toggled_focused_unpressed_color->r,
+ theme->titlebut_toggled_focused_unpressed_color->g,
+ theme->titlebut_toggled_focused_unpressed_color->b);
if (!FIND(color,
L("window","inactive","buttons","toggled-hover","image"),
&theme->titlebut_toggled_hover_unfocused_color, NULL))
theme->titlebut_toggled_hover_unfocused_color =
RrColorNew(inst,
- theme->titlebut_unfocused_unpressed_color->r,
- theme->titlebut_unfocused_unpressed_color->g,
- theme->titlebut_unfocused_unpressed_color->b);
+ theme->titlebut_toggled_unfocused_unpressed_color->r,
+ theme->titlebut_toggled_unfocused_unpressed_color->g,
+ theme->titlebut_toggled_unfocused_unpressed_color->b);
if (!FIND(color, L("menu","title","text","primary"),
&theme->menu_title_color, NULL))
theme->menu_title_color = RrColorNew(inst, 0, 0, 0);
theme->max_pressed_mask = RrPixmapMaskCopy(theme->max_mask);
theme->max_disabled_mask = RrPixmapMaskCopy(theme->max_mask);
theme->max_hover_mask = RrPixmapMaskCopy(theme->max_mask);
- theme->desk_toggled_pressed_mask =
- RrPixmapMaskCopy(theme->desk_toggled_mask);
- theme->desk_toggled_hover_mask =
- RrPixmapMaskCopy(theme->desk_toggled_mask);
+ theme->max_toggled_pressed_mask =
+ RrPixmapMaskCopy(theme->max_toggled_mask);
+ theme->max_toggled_hover_mask =
+ RrPixmapMaskCopy(theme->max_toggled_mask);
}
if (read_mask(&ps, "iconify.xbm", &theme->iconify_mask)) {
set_default_appearance(theme->a_unfocused_grip);
if (!FIND(appearance, L("menu","entries"), theme->a_menu, FALSE))
set_default_appearance(theme->a_menu);
- if (!FIND(appearance, L("menu","title"), theme->a_menu_title, FALSE))
+ if (!FIND(appearance, L("menu","title"), theme->a_menu_title, TRUE))
set_default_appearance(theme->a_menu_title);
if (!FIND(appearance, L("menu", "active"), theme->a_menu_selected, TRUE))
set_default_appearance(theme->a_menu_selected);
{
RrAppearanceFree(theme->a_toggled_hover_focused_max);
theme->a_toggled_hover_focused_max =
- RrAppearanceCopy(theme->a_focused_unpressed_max);
+ RrAppearanceCopy(theme->a_toggled_focused_unpressed_max);
}
if (!FIND(appearance, L("window","inactive","buttons","toggled-hover"),
theme->a_toggled_hover_unfocused_max, TRUE))
{
RrAppearanceFree(theme->a_toggled_hover_unfocused_max);
theme->a_toggled_hover_unfocused_max =
- RrAppearanceCopy(theme->a_unfocused_unpressed_max);
+ RrAppearanceCopy(theme->a_toggled_unfocused_unpressed_max);
}
theme->a_disabled_focused_close =
theme->a_icon->surface.grad =
theme->a_clear->surface.grad =
theme->a_clear_tex->surface.grad =
+ theme->a_menu_text_title->surface.grad =
theme->a_menu_normal->surface.grad =
theme->a_menu_disabled->surface.grad =
theme->a_menu_text_normal->surface.grad =
theme->a_focused_label->texture[0].data.text.justify = winjust;
theme->osd_hilite_label->texture[0].data.text.justify = RR_JUSTIFY_LEFT;
theme->a_focused_label->texture[0].data.text.font =
- theme->osd_hilite_label->texture[0].data.text.font =
theme->win_font_focused;
+ theme->osd_hilite_label->texture[0].data.text.font = theme->osd_font;
theme->a_focused_label->texture[0].data.text.color =
theme->title_focused_color;
theme->osd_hilite_label->texture[0].data.text.color =
theme->a_unfocused_label->texture[0].data.text.shadow_alpha =
theme->title_unfocused_shadow_alpha;
- theme->a_menu_title->texture[0].type = RR_TEXTURE_TEXT;
- theme->a_menu_title->texture[0].data.text.justify = mtitlejust;
- theme->a_menu_title->texture[0].data.text.font = theme->menu_title_font;
- theme->a_menu_title->texture[0].data.text.color = theme->menu_title_color;
+ theme->a_menu_text_title->texture[0].type = RR_TEXTURE_TEXT;
+ theme->a_menu_text_title->texture[0].data.text.justify = mtitlejust;
+ theme->a_menu_text_title->texture[0].data.text.font =
+ theme->menu_title_font;
+ theme->a_menu_text_title->texture[0].data.text.color =
+ theme->menu_title_color;
if (!FIND(shadow, L("menu","title","text","shadow","offset"),
- theme->a_menu_title))
- theme->a_menu_title->texture[0].data.text.shadow_offset_x =
- theme->a_menu_title->texture[0].data.text.shadow_offset_y = 0;
- theme->a_menu_title->texture[0].data.text.shadow_color =
+ theme->a_menu_text_title))
+ theme->a_menu_text_title->texture[0].data.text.shadow_offset_x =
+ theme->a_menu_text_title->texture[0].data.text.shadow_offset_y = 0;
+ theme->a_menu_text_title->texture[0].data.text.shadow_color =
theme->menu_title_shadow_color;
- theme->a_menu_title->texture[0].data.text.shadow_alpha =
+ theme->a_menu_text_title->texture[0].data.text.shadow_alpha =
theme->menu_title_shadow_alpha;
theme->a_menu_text_normal->texture[0].type =
MAX(theme->win_font_height,
RrFontHeight(theme->win_font_unfocused,
a->texture[0].data.text.shadow_offset_y));
- a = theme->a_menu_title;
+ a = theme->a_menu_text_title;
theme->menu_title_font_height =
RrFontHeight(theme->menu_title_font,
a->texture[0].data.text.shadow_offset_y);
RrAppearanceFree(theme->a_unfocused_handle);
RrAppearanceFree(theme->a_menu);
RrAppearanceFree(theme->a_menu_title);
+ RrAppearanceFree(theme->a_menu_text_title);
RrAppearanceFree(theme->a_menu_normal);
RrAppearanceFree(theme->a_menu_disabled);
RrAppearanceFree(theme->a_menu_selected);