#include "mask.h"
#include "theme.h"
#include "icon.h"
-#include "parser/parse.h"
+#include "obt/paths.h"
#include <X11/Xlib.h>
#include <X11/Xresource.h>
if (!read_int(db, "window.client.padding.height", &theme->cbwidthy) ||
theme->cbwidthy < 0 || theme->cbwidthy > 100)
theme->cbwidthy = theme->cbwidthx;
+ if (!read_int(db, "menu.separator.width", &theme->menu_sep_width) ||
+ theme->menu_sep_width < 1 || theme->menu_sep_width > 100)
+ theme->menu_sep_width = 1;
+ if (!read_int(db, "menu.separator.padding.width",
+ &theme->menu_sep_paddingx) ||
+ theme->menu_sep_paddingx < 0 || theme->menu_sep_paddingx > 100)
+ theme->menu_sep_paddingx = 6;
+ if (!read_int(db, "menu.separator.padding.height",
+ &theme->menu_sep_paddingy) ||
+ theme->menu_sep_paddingy < 0 || theme->menu_sep_paddingy > 100)
+ theme->menu_sep_paddingy = 3;
/* load colors */
if (!read_color(db, inst,
"border.color",
&theme->frame_focused_border_color))
theme->frame_focused_border_color = RrColorNew(inst, 0, 0, 0);
- /* title separator focused color inherits from focused boder color */
+ /* title separator focused color inherits from focused border color */
if (!read_color(db, inst,
"window.active.title.separator.color",
&theme->title_separator_focused_color))
RrColorNew(inst, theme->frame_focused_border_color->r,
theme->frame_focused_border_color->g,
theme->frame_focused_border_color->b);
- /* title separator unfocused color inherits from unfocused boder color */
+ /* title separator unfocused color inherits from unfocused border color */
if (!read_color(db, inst,
"window.inactive.title.separator.color",
&theme->title_separator_unfocused_color))
"menu.items.active.text.color",
&theme->menu_selected_color))
theme->menu_selected_color = RrColorNew(inst, 0, 0, 0);
+ if (!read_color(db, inst,
+ "menu.separator.color", &theme->menu_sep_color))
+ theme->menu_sep_color = RrColorNew(inst,
+ theme->menu_color->r,
+ theme->menu_color->g,
+ theme->menu_color->b);
/* load the image masks */
theme->menu_bullet_mask = RrPixmapMaskNew(inst, 4, 7, (gchar*)data);
}
+ /* up and down arrows */
+ {
+ guchar data[] = { 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00, 0x10, 0x00 };
+ theme->down_arrow_mask = RrPixmapMaskNew(inst, 9, 4, (gchar*)data);
+ }
+ {
+ guchar data[] = { 0x10, 0x00, 0x38, 0x00, 0x7c, 0x00, 0xfe, 0x00 };
+ theme->up_arrow_mask = RrPixmapMaskNew(inst, 9, 4, (gchar*)data);
+ }
+
/* setup the default window icon */
theme->def_win_icon = read_c_image(OB_DEFAULT_ICON_WIDTH,
OB_DEFAULT_ICON_HEIGHT,
OB_DEFAULT_ICON_pixel_data);
+ theme->def_win_icon_w = OB_DEFAULT_ICON_WIDTH;
+ theme->def_win_icon_h = OB_DEFAULT_ICON_HEIGHT;
+
/* read the decoration textures */
if (!read_appearance(db, inst,
RrColorFree(theme->titlebut_focused_unpressed_color);
RrColorFree(theme->titlebut_unfocused_unpressed_color);
RrColorFree(theme->menu_title_color);
+ RrColorFree(theme->menu_sep_color);
RrColorFree(theme->menu_color);
RrColorFree(theme->menu_selected_color);
RrColorFree(theme->menu_disabled_color);
RrPixmapMaskFree(theme->close_hover_mask);
RrPixmapMaskFree(theme->close_pressed_mask);
RrPixmapMaskFree(theme->menu_bullet_mask);
+ RrPixmapMaskFree(theme->down_arrow_mask);
+ RrPixmapMaskFree(theme->up_arrow_mask);
RrFontClose(theme->win_font_focused);
RrFontClose(theme->win_font_unfocused);
*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);
*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);
*path = g_path_get_dirname(s);
g_free(s);
}
+
+ obt_paths_unref(p);
}
if (db == NULL) {