X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Ftheme.c;h=fe200e37135167792319abc19c3d92db586e12e6;hb=a3babc4a995d31e44a626448e28d607be3c33197;hp=a793ced71f6a8021ca296f31c2d955bfbd94adba;hpb=77baf26a7f2f64ddf1274035fd4991ab17345904;p=chaz%2Fopenbox diff --git a/render/theme.c b/render/theme.c index a793ced7..fe200e37 100644 --- a/render/theme.c +++ b/render/theme.c @@ -23,7 +23,7 @@ #include "mask.h" #include "theme.h" #include "icon.h" -#include "parser/parse.h" +#include "obt/paths.h" #include #include @@ -115,7 +115,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, theme->a_menu_normal = RrAppearanceNew(inst, 0); theme->a_menu_selected = RrAppearanceNew(inst, 0); theme->a_menu_disabled = RrAppearanceNew(inst, 0); - theme->a_menu_disabled_selected = RrAppearanceNew(inst, 0); + /* a_menu_disabled_selected is copied from a_menu_selected */ theme->a_menu_text_normal = RrAppearanceNew(inst, 1); theme->a_menu_text_selected = RrAppearanceNew(inst, 1); theme->a_menu_text_disabled = RrAppearanceNew(inst, 1); @@ -186,7 +186,9 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, if (!read_int(db, "padding.width", &theme->paddingx) || theme->paddingx < 0 || theme->paddingx > 100) theme->paddingx = 3; - theme->paddingy = theme->paddingx; + if (!read_int(db, "padding.height", &theme->paddingy) || + theme->paddingy < 0 || theme->paddingy > 100) + theme->paddingy = theme->paddingx; if (!read_int(db, "border.width", &theme->fbwidth) || theme->fbwidth < 0 || theme->fbwidth > 100) theme->fbwidth = 1; @@ -541,21 +543,6 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, OB_DEFAULT_ICON_HEIGHT, OB_DEFAULT_ICON_pixel_data); - /* the toggled hover mask = the toggled unpressed mask (i.e. no change) */ - theme->max_toggled_hover_mask = - RrPixmapMaskCopy(theme->max_toggled_mask); - theme->desk_toggled_hover_mask = - RrPixmapMaskCopy(theme->desk_toggled_mask); - theme->shade_toggled_hover_mask = - RrPixmapMaskCopy(theme->shade_toggled_mask); - /* the toggled pressed mask = the toggled unpressed mask (i.e. no change)*/ - theme->max_toggled_pressed_mask = - RrPixmapMaskCopy(theme->max_toggled_mask); - theme->desk_toggled_pressed_mask = - RrPixmapMaskCopy(theme->desk_toggled_mask); - theme->shade_toggled_pressed_mask = - RrPixmapMaskCopy(theme->shade_toggled_mask); - /* read the decoration textures */ if (!read_appearance(db, inst, "window.active.title.bg", theme->a_focused_title, @@ -910,13 +897,9 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, j = (i > 0 ? 0 : 255); i = ABS(i*255/100); - theme->title_focused_shadow_color = RrColorNew(inst, j, j, j); - theme->title_focused_shadow_alpha = i; theme->osd_shadow_color = RrColorNew(inst, j, j, j); theme->osd_shadow_alpha = i; } else { - theme->title_focused_shadow_color = RrColorNew(inst, 0, 0, 0); - theme->title_focused_shadow_alpha = 50; theme->osd_shadow_color = RrColorNew(inst, 0, 0, 0); theme->osd_shadow_alpha = 50; } @@ -1468,6 +1451,7 @@ void RrThemeFree(RrTheme *theme) RrFontClose(theme->win_font_unfocused); RrFontClose(theme->menu_title_font); RrFontClose(theme->menu_font); + RrFontClose(theme->osd_font); RrAppearanceFree(theme->a_disabled_focused_max); RrAppearanceFree(theme->a_disabled_unfocused_max); @@ -1572,6 +1556,10 @@ static XrmDatabase loaddb(const gchar *name, gchar **path) *path = g_path_get_dirname(s); g_free(s); } else { + ObtPaths *p; + + p = obt_paths_new(); + /* XXX backwards compatibility, remove me sometime later */ s = g_build_filename(g_get_home_dir(), ".themes", name, "openbox-3", "themerc", NULL); @@ -1579,8 +1567,7 @@ static XrmDatabase loaddb(const gchar *name, gchar **path) *path = g_path_get_dirname(s); g_free(s); - for (it = parse_xdg_data_dir_paths(); !db && it; - it = g_slist_next(it)) + for (it = obt_paths_data_dirs(p); !db && it; it = g_slist_next(it)) { s = g_build_filename(it->data, "themes", name, "openbox-3", "themerc", NULL); @@ -1588,6 +1575,8 @@ static XrmDatabase loaddb(const gchar *name, gchar **path) *path = g_path_get_dirname(s); g_free(s); } + + obt_paths_unref(p); } if (db == NULL) {