summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/rc.xml11
-rw-r--r--openbox/config.c12
-rw-r--r--openbox/config.h6
-rw-r--r--openbox/openbox.c3
-rw-r--r--render/theme.c14
-rw-r--r--render/theme.h5
6 files changed, 37 insertions, 14 deletions
diff --git a/data/rc.xml b/data/rc.xml
index dc73fb53..ff9016dc 100644
--- a/data/rc.xml
+++ b/data/rc.xml
@@ -98,7 +98,16 @@
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
- <font place="OnScreenDisplay">
+ <font place="ActiveOnScreenDisplay">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
diff --git a/openbox/config.c b/openbox/config.c
index 33fadeb7..6bdae9ff 100644
--- a/openbox/config.c
+++ b/openbox/config.c
@@ -57,7 +57,8 @@ RrFont *config_font_activewindow;
RrFont *config_font_inactivewindow;
RrFont *config_font_menuitem;
RrFont *config_font_menutitle;
-RrFont *config_font_osd;
+RrFont *config_font_activeosd;
+RrFont *config_font_inactiveosd;
guint config_desktops_num;
GSList *config_desktops_names;
@@ -605,8 +606,12 @@ static void parse_theme(xmlNodePtr node, gpointer d)
font = &config_font_menutitle;
else if (obt_parse_attr_contains(n, "place", "MenuItem"))
font = &config_font_menuitem;
+ else if (obt_parse_attr_contains(n, "place", "ActiveOnScreenDisplay"))
+ font = &config_font_activeosd;
else if (obt_parse_attr_contains(n, "place", "OnScreenDisplay"))
- font = &config_font_osd;
+ font = &config_font_activeosd;
+ else if (obt_parse_attr_contains(n, "place","InactiveOnScreenDisplay"))
+ font = &config_font_inactiveosd;
else
goto next_font;
@@ -1036,7 +1041,8 @@ void config_shutdown(void)
RrFontClose(config_font_inactivewindow);
RrFontClose(config_font_menuitem);
RrFontClose(config_font_menutitle);
- RrFontClose(config_font_osd);
+ RrFontClose(config_font_activeosd);
+ RrFontClose(config_font_inactiveosd);
for (it = config_desktops_names; it; it = g_slist_next(it))
g_free(it->data);
diff --git a/openbox/config.h b/openbox/config.h
index 18c97ede..11796dcb 100644
--- a/openbox/config.h
+++ b/openbox/config.h
@@ -152,8 +152,10 @@ extern RrFont *config_font_inactivewindow;
extern RrFont *config_font_menutitle;
/*! The font for menu items */
extern RrFont *config_font_menuitem;
-/*! The font for on-screen-displays/popups */
-extern RrFont *config_font_osd;
+/*! The font for on-screen-displays/popups' active text */
+extern RrFont *config_font_activeosd;
+/*! The font for on-screen-displays/popups' inactive text */
+extern RrFont *config_font_inactiveosd;
/*! The number of desktops */
extern guint config_desktops_num;
diff --git a/openbox/openbox.c b/openbox/openbox.c
index 800e6a21..5f926bb6 100644
--- a/openbox/openbox.c
+++ b/openbox/openbox.c
@@ -274,7 +274,8 @@ gint main(gint argc, gchar **argv)
config_font_inactivewindow,
config_font_menutitle,
config_font_menuitem,
- config_font_osd)))
+ config_font_activeosd,
+ config_font_inactiveosd)))
{
RrThemeFree(ob_rr_theme);
ob_rr_theme = theme;
diff --git a/render/theme.c b/render/theme.c
index 29d81c0d..6c136bf5 100644
--- a/render/theme.c
+++ b/render/theme.c
@@ -67,7 +67,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
gboolean allow_fallback,
RrFont *active_window_font, RrFont *inactive_window_font,
RrFont *menu_title_font, RrFont *menu_item_font,
- RrFont *osd_font)
+ RrFont *active_osd_font, RrFont *inactive_osd_font)
{
XrmDatabase db = NULL;
RrJustify winjust, mtitlejust;
@@ -174,7 +174,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
theme->menu_font = get_font(menu_item_font, &default_font, inst);
- theme->osd_font = get_font(osd_font, &default_font, inst);
+ theme->osd_font_hilite = get_font(active_osd_font, &default_font, inst);
+ theme->osd_font_unhilite = get_font(inactive_osd_font, &default_font,inst);
/* load direct dimensions */
if ((!read_int(db, "menu.overlap.x", &theme->menu_overlap_x) &&
@@ -926,13 +927,15 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
theme->osd_hilite_label->texture[0].type = RR_TEXTURE_TEXT;
theme->osd_hilite_label->texture[0].data.text.justify = RR_JUSTIFY_LEFT;
- theme->osd_hilite_label->texture[0].data.text.font = theme->osd_font;
+ theme->osd_hilite_label->texture[0].data.text.font =
+ theme->osd_font_hilite;
theme->osd_hilite_label->texture[0].data.text.color =
theme->osd_text_active_color;
theme->osd_unhilite_label->texture[0].type = RR_TEXTURE_TEXT;
theme->osd_unhilite_label->texture[0].data.text.justify = RR_JUSTIFY_LEFT;
- theme->osd_unhilite_label->texture[0].data.text.font = theme->osd_font;
+ theme->osd_unhilite_label->texture[0].data.text.font =
+ theme->osd_font_unhilite;
theme->osd_unhilite_label->texture[0].data.text.color =
theme->osd_text_inactive_color;
@@ -1564,7 +1567,8 @@ void RrThemeFree(RrTheme *theme)
RrFontClose(theme->win_font_unfocused);
RrFontClose(theme->menu_title_font);
RrFontClose(theme->menu_font);
- RrFontClose(theme->osd_font);
+ RrFontClose(theme->osd_font_hilite);
+ RrFontClose(theme->osd_font_unhilite);
RrAppearanceFree(theme->a_disabled_focused_max);
RrAppearanceFree(theme->a_disabled_unfocused_max);
diff --git a/render/theme.h b/render/theme.h
index 06014cbb..3f9063e6 100644
--- a/render/theme.h
+++ b/render/theme.h
@@ -34,7 +34,8 @@ struct _RrTheme {
RrFont *win_font_unfocused;
RrFont *menu_title_font;
RrFont *menu_font;
- RrFont *osd_font;
+ RrFont *osd_font_hilite;
+ RrFont *osd_font_unhilite;
/* style settings - geometry */
gint paddingx;
@@ -257,7 +258,7 @@ 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);
+ RrFont *active_osd_font, RrFont *inactive_osd_font);
void RrThemeFree(RrTheme *theme);
G_END_DECLS