The font to use for a specific element of a window, menu or OSD.
Places can be any of:
- ActiveWindow - titlebar of active window
+ - MenuItem - menu item (currently only root menu)
If no place attribute is provided, the setting will be applied to all
places.
Describes font name. Default is sans.
*<theme><font place=""><size>*
- Font size in pixels. Default is 8.
+ Font size in pixels. Default is 10.
# KEYBOARD
enum font_place {
FONT_PLACE_UNKNOWN = 0,
FONT_PLACE_ACTIVEWINDOW,
- FONT_PLACE_INACTIVEWINDOW,
+ FONT_PLACE_MENUITEM,
/* TODO: Add all places based on Openbox's rc.xml */
};
*/
if (!strcmp(nodename, "name")) {
rc.font_name_activewindow = strdup(content);
+ rc.font_name_menuitem = strdup(content);
} else if (!strcmp(nodename, "size")) {
rc.font_size_activewindow = atoi(content);
+ rc.font_size_menuitem = atoi(content);
}
break;
case FONT_PLACE_ACTIVEWINDOW:
rc.font_size_activewindow = atoi(content);
}
break;
+ case FONT_PLACE_MENUITEM:
+ if (!strcmp(nodename, "name")) {
+ rc.font_name_menuitem = strdup(content);
+ } else if (!strcmp(nodename, "size")) {
+ rc.font_size_menuitem = atoi(content);
+ }
+ break;
/* TODO: implement for all font places */
}
if (!strcasecmp(place, "ActiveWindow")) {
return FONT_PLACE_ACTIVEWINDOW;
- } else if (!strcasecmp(place, "InactiveWindow")) {
- return FONT_PLACE_INACTIVEWINDOW;
+ } else if (!strcasecmp(place, "MenuItem")) {
+ return FONT_PLACE_MENUITEM;
}
return FONT_PLACE_UNKNOWN;
}
rc.xdg_shell_server_side_deco = true;
rc.corner_radius = 8;
rc.font_size_activewindow = 10;
+ rc.font_size_menuitem = 10;
}
static void
if (!rc.font_name_activewindow) {
rc.font_name_activewindow = strdup("sans");
}
+ if (!rc.font_name_menuitem) {
+ rc.font_name_menuitem = strdup("sans");
+ }
}
static void
rcxml_finish(void)
{
zfree(rc.font_name_activewindow);
+ zfree(rc.font_name_menuitem);
zfree(rc.theme_name);
struct keybind *k, *k_tmp;