+ if ((n = parse_find_node("center", node)))
+ config_place_center = parse_bool(doc, n);
+ if ((n = parse_find_node("monitor", 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;
+ }
+ if ((n = parse_find_node("primaryMonitor", node))) {
+ config_primary_monitor_index = parse_int(doc, n);
+ if (!config_primary_monitor_index) {
+ if (parse_contains("mouse", doc, n))
+ config_primary_monitor = OB_PLACE_MONITOR_MOUSE;
+ }
+ }
+}
+
+static void parse_margins(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
+ gpointer data)
+{
+ xmlNodePtr n;
+
+ node = node->children;
+
+ if ((n = parse_find_node("top", node)))
+ config_margins.top = MAX(0, parse_int(doc, n));
+ if ((n = parse_find_node("left", node)))
+ config_margins.left = MAX(0, parse_int(doc, n));
+ if ((n = parse_find_node("right", node)))
+ config_margins.right = MAX(0, parse_int(doc, n));
+ if ((n = parse_find_node("bottom", node)))
+ config_margins.bottom = MAX(0, parse_int(doc, n));