gboolean config_focus_last;
gboolean config_focus_under_mouse;
-ObPlacePolicy config_place_policy;
-gboolean config_place_center;
-gboolean config_place_active;
+ObPlacePolicy config_place_policy;
+gboolean config_place_center;
+ObPlaceMonitor config_place_monitor;
StrutPartial config_margins;
RrFont *config_font_menutitle;
RrFont *config_font_osd;
-gint config_desktops_num;
+guint config_desktops_num;
GSList *config_desktops_names;
guint config_screen_firstdesk;
guint config_desktop_popup_time;
gboolean config_resize_redraw;
-gboolean config_resize_four_corners;
gint config_resize_popup_show;
ObResizePopupPos config_resize_popup_pos;
GravityPoint config_resize_popup_fixed;
if (!parse_contains("default", doc, c)) {
config_parse_gravity_coord(doc, c,
&settings->position.x);
- settings->pos_given = TRUE;
+ x_pos_given = TRUE;
}
if (x_pos_given && (c = parse_find_node("y", n->children)))
config_place_policy = OB_PLACE_POLICY_MOUSE;
if ((n = parse_find_node("center", node)))
config_place_center = parse_bool(doc, n);
- if ((n = parse_find_node("active", node)))
- config_place_active = parse_bool(doc, n);
+ if ((n = parse_find_node("placeOn", node))) {
+ if (parse_contains("active", doc, n))
+ config_place_monitor = OB_PLACE_MONITOR_ACTIVE;
+ else if (parse_contains("mouse", doc, n))
+ config_place_monitor = OB_PLACE_MONITOR_MOUSE;
+ }
}
static void parse_margins(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
if ((n = parse_find_node("number", node))) {
gint d = parse_int(doc, n);
if (d > 0)
- config_desktops_num = d;
+ config_desktops_num = (unsigned) d;
}
if ((n = parse_find_node("firstdesk", node))) {
gint d = parse_int(doc, n);
config_place_policy = OB_PLACE_POLICY_SMART;
config_place_center = TRUE;
- config_place_active = FALSE;
+ config_place_monitor = OB_PLACE_MONITOR_ANY;
parse_register(i, "placement", parse_placement, NULL);
parse_register(i, "desktops", parse_desktops, NULL);
config_resize_redraw = TRUE;
- config_resize_four_corners = FALSE;
config_resize_popup_show = 1; /* nonpixel increments */
config_resize_popup_pos = OB_RESIZE_POS_CENTER;
GRAVITY_COORD_SET(config_resize_popup_fixed.x, 0, FALSE, FALSE);
RrFontClose(config_font_inactivewindow);
RrFontClose(config_font_menuitem);
RrFontClose(config_font_menutitle);
+ RrFontClose(config_font_osd);
for (it = config_desktops_names; it; it = g_slist_next(it))
g_free(it->data);