diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-04-26 13:10:36 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-04-26 13:10:36 +0000 |
| commit | 4e590eba236c587caff22d8cfc3a8fc0332cb206 (patch) | |
| tree | ab9c1fd825b694d9557d67b6a8504b71d58f4d21 | |
| parent | 1c4c2b92a0be1b1358f34898ef47f74e0b21ae6a (diff) | |
add a separate font config for onscreendisplays
change menutitle in the rc to menuheader
fix up the xsd for fonts
| -rw-r--r-- | data/rc.xml.in | 18 | ||||
| -rw-r--r-- | data/rc.xsd | 14 | ||||
| -rw-r--r-- | openbox/config.c | 5 | ||||
| -rw-r--r-- | openbox/config.h | 2 | ||||
| -rw-r--r-- | openbox/openbox.c | 3 | ||||
| -rw-r--r-- | render/theme.c | 11 | ||||
| -rw-r--r-- | render/theme.h | 4 |
7 files changed, 45 insertions, 12 deletions
diff --git a/data/rc.xml.in b/data/rc.xml.in index 6233c2e2..d42c3135 100644 --- a/data/rc.xml.in +++ b/data/rc.xml.in @@ -44,26 +44,32 @@ <keepBorder>yes</keepBorder> <hideDisabled>no</hideDisabled> <font place="ActiveWindow"> - <name>arial,sans</name> + <name>sans</name> <size>7</size> <weight>bold</weight> <slant>normal</slant> </font> <font place="InactiveWindow"> - <name>arial,sans</name> + <name>sans</name> <size>7</size> <weight>bold</weight> <slant>normal</slant> </font> - <font place="MenuTitle"> - <name>arial,sans</name> + <font place="MenuHeader"> + <name>sans</name> <size>8</size> <weight>bold</weight> <slant>normal</slant> </font> <font place="MenuItem"> - <name>arial,sans</name> - <size>8</size> + <name>sans</name> + <size>9</size> + <weight>bold</weight> + <slant>normal</slant> + </font> + <font place="OnScreenDisplay"> + <name>sans</name> + <size>9</size> <weight>bold</weight> <slant>normal</slant> </font> diff --git a/data/rc.xsd b/data/rc.xsd index fdb98e7d..4da392a8 100644 --- a/data/rc.xsd +++ b/data/rc.xsd @@ -47,10 +47,12 @@ Removing font shadows - they are going back into the themerc Tue Apr 24 18:42:24 UTC 2007 - mikachu(a)openbox.org Removed fourCorners option. - Wed Apr 25 14:02:40 UTC 2007 + Wed Apr 25 14:02:40 UTC 2007 - mikachu(a)openbox.org Fixed values for layer to be above/below, not top/bottom. Add chroot attribute and keybind element to keybind element. Remove xsd:sequence from everywhere, we don't care about order. + Thu Apr 26 09:11:03 EDT 2007 - danakj(a)orodu.net + Add the place attribute for fonts --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://openbox.org/" @@ -117,6 +119,7 @@ <xsd:element minOccurs="0" name="size" type="xsd:integer"/> <xsd:element minOccurs="0" name="weight" type="ob:fontweight"/> <xsd:element minOccurs="0" name="slant" type="ob:fontslant"/> + <xsd:attribute name="place" type="ob:fontplace" use="required"/> </xsd:complexType> <xsd:complexType name="desktops"> <xsd:annotation> @@ -333,6 +336,15 @@ <xsd:enumeration value="off"/> </xsd:restriction> </xsd:simpleType> + <xsd:simpleType name="fontplace"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="ActiveWindow"/> + <xsd:enumeration value="InactiveWindow"/> + <xsd:enumeration value="MenuHeader"/> + <xsd:enumeration value="MenuItem"/> + <xsd:enumeration value="OnScreenDisplay"/> + </xsd:restriction> + </xsd:simpleType> <xsd:simpleType name="fontweight"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="normal"/> diff --git a/openbox/config.c b/openbox/config.c index f8b3fd95..4e3f6f9a 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -46,6 +46,7 @@ RrFont *config_font_activewindow; RrFont *config_font_inactivewindow; RrFont *config_font_menuitem; RrFont *config_font_menutitle; +RrFont *config_font_osd; gint config_desktops_num; GSList *config_desktops_names; @@ -467,10 +468,12 @@ static void parse_theme(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, font = &config_font_activewindow; else if (parse_attr_contains("InactiveWindow", n, "place")) font = &config_font_inactivewindow; - else if (parse_attr_contains("MenuTitle", n, "place")) + else if (parse_attr_contains("MenuHeader", n, "place")) font = &config_font_menutitle; else if (parse_attr_contains("MenuItem", n, "place")) font = &config_font_menuitem; + else if (parse_attr_contains("OnScreenDisplay", n, "place")) + font = &config_font_osd; else goto next_font; diff --git a/openbox/config.h b/openbox/config.h index 283fa992..e6a441b0 100644 --- a/openbox/config.h +++ b/openbox/config.h @@ -97,6 +97,8 @@ 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 number of desktops */ extern gint config_desktops_num; diff --git a/openbox/openbox.c b/openbox/openbox.c index fc2e78c0..9de780dd 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -241,7 +241,8 @@ gint main(gint argc, gchar **argv) config_font_activewindow, config_font_inactivewindow, config_font_menutitle, - config_font_menuitem))) + config_font_menuitem, + config_font_osd))) { RrThemeFree(ob_rr_theme); ob_rr_theme = theme; diff --git a/render/theme.c b/render/theme.c index a80777ba..cb50887b 100644 --- a/render/theme.c +++ b/render/theme.c @@ -66,7 +66,8 @@ static gboolean find_appearance(ParseState *ps, xmlNodePtr n, const gchar *names RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, RrFont *active_window_font, RrFont *inactive_window_font, - RrFont *menu_title_font, RrFont *menu_item_font) + RrFont *menu_title_font, RrFont *menu_item_font, + RrFont *osd_font) { ParseState ps; xmlNodePtr root; @@ -173,6 +174,12 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, } else theme->menu_font = RrFontOpenDefault(inst); + if (osd_font) { + theme->osd_font = osd_font; + RrFontRef(osd_font); + } else + theme->osd_font = RrFontOpenDefault(inst); + /* load direct dimensions */ if (!FIND(int, L("menu","overlap"), &theme->menu_overlap, -100, 100)) @@ -771,8 +778,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, theme->a_focused_label->texture[0].data.text.justify = winjust; theme->osd_hilite_label->texture[0].data.text.justify = RR_JUSTIFY_LEFT; theme->a_focused_label->texture[0].data.text.font = - theme->osd_hilite_label->texture[0].data.text.font = theme->win_font_focused; + theme->osd_hilite_label->texture[0].data.text.font = theme->osd_font; theme->a_focused_label->texture[0].data.text.color = theme->title_focused_color; theme->osd_hilite_label->texture[0].data.text.color = diff --git a/render/theme.h b/render/theme.h index 62ff87dd..b0caa171 100644 --- a/render/theme.h +++ b/render/theme.h @@ -34,6 +34,7 @@ struct _RrTheme { RrFont *win_font_unfocused; RrFont *menu_title_font; RrFont *menu_font; + RrFont *osd_font; /* style settings - geometry */ gint paddingx; @@ -226,7 +227,8 @@ struct _RrTheme { the default font will be used. */ RrTheme* RrThemeNew(const RrInstance *inst, gchar *theme, RrFont *active_window_font, RrFont *inactive_window_font, - RrFont *menu_title_font, RrFont *menu_item_font); + RrFont *menu_title_font, RrFont *menu_item_font, + RrFont *osd_font); void RrThemeFree(RrTheme *theme); G_END_DECLS |
