Add theme options for menu line separators.
[mikachu/openbox.git] / render / theme.h
index 85e5aa7..a14dac2 100644 (file)
@@ -42,9 +42,14 @@ struct _RrTheme {
     gint handle_height;
     gint fbwidth; /*!< frame border width */
     gint mbwidth; /*!< menu border width */
+    gint obwidth; /*!< osd border width */
     gint cbwidthx;
     gint cbwidthy;
-    gint menu_overlap;
+    gint menu_overlap_x;
+    gint menu_overlap_y;
+    gint menu_sep_width;
+    gint menu_sep_paddingx;
+    gint menu_sep_paddingy;
     /* these ones are calculated, not set directly by the theme file */
     gint win_font_height;
     gint menu_title_font_height;
@@ -57,8 +62,12 @@ struct _RrTheme {
     gint menu_title_height;
 
     /* style settings - colors */
-    RrColor *menu_b_color;
-    RrColor *frame_b_color;
+    RrColor *menu_border_color;
+    RrColor *osd_border_color;
+    RrColor *frame_focused_border_color;
+    RrColor *frame_unfocused_border_color;
+    RrColor *title_separator_focused_color;
+    RrColor *title_separator_unfocused_color;
     RrColor *cb_focused_color;
     RrColor *cb_unfocused_color;
     RrColor *title_focused_color;
@@ -78,6 +87,7 @@ struct _RrTheme {
     RrColor *titlebut_focused_unpressed_color;
     RrColor *titlebut_unfocused_unpressed_color;
     RrColor *menu_title_color;
+    RrColor *menu_sep_color;
     RrColor *menu_color;
     RrColor *menu_selected_color;
     RrColor *menu_disabled_color;
@@ -101,7 +111,9 @@ struct _RrTheme {
     gchar    menu_text_disabled_selected_shadow_alpha;
 
     /* style settings - pics */
-    RrPixel32 *def_win_icon; /* 48x48 RGBA */
+    RrPixel32 *def_win_icon; /* RGBA */
+    gint       def_win_icon_w;
+    gint       def_win_icon_h;
 
     /* style settings - masks */
     RrPixmapMask *max_mask;
@@ -229,11 +241,13 @@ struct _RrTheme {
     RrAppearance *osd_hilite_label; /* can be parent relative */
     RrAppearance *osd_unhilite_fg; /* can never be parent relative */
 
+    gchar *name;
 };
 
 /*! The font values are all optional. If a NULL is used for any of them, then
   the default font will be used. */
-RrTheme* RrThemeNew(const RrInstance *inst, gchar *theme,
+RrTheme* RrThemeNew(const RrInstance *inst, const gchar *theme,
+                    gboolean allow_fallback,
                     RrFont *active_window_font, RrFont *inactive_window_font,
                     RrFont *menu_title_font, RrFont *menu_item_font,
                     RrFont *osd_font);