RrFont *default_font = NULL;
gchar *path;
gboolean userdef;
+ gint menu_overlap = 0;
+ RrAppearance *a_disabled_focused_tmp;
+ RrAppearance *a_disabled_unfocused_tmp;
+ RrAppearance *a_hover_focused_tmp;
+ RrAppearance *a_hover_unfocused_tmp;
+ RrAppearance *a_focused_unpressed_tmp;
+ RrAppearance *a_focused_pressed_tmp;
+ RrAppearance *a_unfocused_unpressed_tmp;
+ RrAppearance *a_unfocused_pressed_tmp;
+ RrAppearance *a_toggled_hover_focused_tmp;
+ RrAppearance *a_toggled_hover_unfocused_tmp;
+ RrAppearance *a_toggled_focused_unpressed_tmp;
+ RrAppearance *a_toggled_focused_pressed_tmp;
+ RrAppearance *a_toggled_unfocused_unpressed_tmp;
+ RrAppearance *a_toggled_unfocused_pressed_tmp;
if (name) {
db = loaddb(name, &path);
return NULL;
}
- theme = g_slice_new0(RrTheme);
+ /* initialize temp reading textures */
+ a_disabled_focused_tmp = RrAppearanceNew(inst, 1);
+ a_disabled_unfocused_tmp = RrAppearanceNew(inst, 1);
+ a_hover_focused_tmp = RrAppearanceNew(inst, 1);
+ a_hover_unfocused_tmp = RrAppearanceNew(inst, 1);
+ a_toggled_focused_unpressed_tmp = RrAppearanceNew(inst, 1);
+ a_toggled_unfocused_unpressed_tmp = RrAppearanceNew(inst, 1);
+ a_toggled_hover_focused_tmp = RrAppearanceNew(inst, 1);
+ a_toggled_hover_unfocused_tmp = RrAppearanceNew(inst, 1);
+ a_toggled_focused_pressed_tmp = RrAppearanceNew(inst, 1);
+ a_toggled_unfocused_pressed_tmp = RrAppearanceNew(inst, 1);
+ a_focused_unpressed_tmp = RrAppearanceNew(inst, 1);
+ a_focused_pressed_tmp = RrAppearanceNew(inst, 1);
+ a_unfocused_unpressed_tmp = RrAppearanceNew(inst, 1);
+ a_unfocused_pressed_tmp = RrAppearanceNew(inst, 1);
+
+ /* initialize theme */
+ theme = g_slice_new0(RrTheme, 1);
theme->inst = inst;
theme->name = g_strdup(name ? name : DEFAULT_THEME);
theme->osd_font_unhilite = get_font(inactive_osd_font, &default_font,inst);
/* load direct dimensions */
- /* TODO: Need fallback for menu.overlap */
- READ_INT("menu.overlap.x", theme->menu_overlap_x, -100, 100, 0);
- READ_INT("menu.overlap.y", theme->menu_overlap_y, -100, 100, 0);
- /*READ_INT("menu.overlap", theme->menu_overlap, -100, 100, 0);*/
+ READ_INT("menu.overlap", menu_overlap, -100, 100, 0);
+ READ_INT("menu.overlap.x", theme->menu_overlap_x, -100, 100, menu_overlap);
+ READ_INT("menu.overlap.y", theme->menu_overlap_y, -100, 100, menu_overlap);
READ_INT("window.handle.width", theme->handle_height, 0, 100, 6);
READ_INT("padding.width", theme->paddingx, 0, 100, 3);
READ_INT("padding.height", theme->paddingy, 0, 100, theme->paddingx);
READ_INT("border.width", theme->fbwidth, 0, 100, 1);
READ_INT("menu.border.width", theme->mbwidth, 0, 100, theme->fbwidth);
READ_INT("osd.border.width", theme->obwidth, 0, 100, theme->fbwidth);
- READ_INT("window.client.padding.width", theme->cbwidthx, 0, 100, theme->paddingx);
- READ_INT("window.client.padding.height", theme->cbwidthy, 0, 100, theme->cbwidthx);
READ_INT("menu.separator.width", theme->menu_sep_width, 1, 100, 1);
READ_INT("menu.separator.padding.width", theme->menu_sep_paddingx, 0, 100, 6);
READ_INT("menu.separator.padding.height", theme->menu_sep_paddingy, 0, 100, 3);
RrColorNew(inst, 0, 0, 0));
READ_COLOR("menu.separator.color", theme->menu_sep_color,
- RrColorCopy(inst, theme->menu_color));
-
+ RrColorCopy(theme->menu_color));
+
/* load the image masks */
/* maximize button masks */
theme->button_size = theme->label_height - 2;
theme->grip_width = 25;
+ RrAppearanceFree(a_disabled_focused_tmp);
+ RrAppearanceFree(a_disabled_unfocused_tmp);
+ RrAppearanceFree(a_hover_focused_tmp);
+ RrAppearanceFree(a_hover_unfocused_tmp);
+ RrAppearanceFree(a_focused_unpressed_tmp);
+ RrAppearanceFree(a_focused_pressed_tmp);
+ RrAppearanceFree(a_unfocused_unpressed_tmp);
+ RrAppearanceFree(a_unfocused_pressed_tmp);
+ RrAppearanceFree(a_toggled_hover_focused_tmp);
+ RrAppearanceFree(a_toggled_hover_unfocused_tmp);
+ RrAppearanceFree(a_toggled_focused_unpressed_tmp);
+ RrAppearanceFree(a_toggled_focused_pressed_tmp);
+ RrAppearanceFree(a_toggled_unfocused_unpressed_tmp);
+ RrAppearanceFree(a_toggled_unfocused_pressed_tmp);
+
return theme;
}