settings->type = -1;
settings->decor = -1;
settings->shade = -1;
- settings->monitor_type = 0;
+ settings->monitor_type = OB_PLACE_MONITOR_ANY;
settings->monitor = -1;
settings->focus = -1;
settings->desktop = 0;
copy_if(type, (ObClientType)-1);
copy_if(decor, -1);
copy_if(shade, -1);
- copy_if(monitor_type, 0);
+ copy_if(monitor_type, OB_PLACE_MONITOR_ANY);
copy_if(monitor, -1);
copy_if(focus, -1);
copy_if(desktop, 0);
settings->pos_given = TRUE;
}
- if (settings->pos_given &&
- (c = obt_xml_find_node(n->children, "monitor")))
+ /* monitor can be set without setting x or y */
+ if ((c = obt_xml_find_node(n->children, "monitor")))
if (!obt_xml_node_contains(c, "default")) {
gchar *s = obt_xml_node_string(c);
if (!g_ascii_strcasecmp(s, "mouse"))
settings->monitor_type =
- OB_APP_SETTINGS_MONITOR_MOUSE;
+ OB_PLACE_MONITOR_MOUSE;
else if (!g_ascii_strcasecmp(s, "active"))
settings->monitor_type =
- OB_APP_SETTINGS_MONITOR_ACTIVE;
+ OB_PLACE_MONITOR_ACTIVE;
else if (!g_ascii_strcasecmp(s, "primary"))
settings->monitor_type =
- OB_APP_SETTINGS_MONITOR_PRIMARY;
+ OB_PLACE_MONITOR_PRIMARY;
else
settings->monitor = obt_xml_node_int(c);
g_free(s);
node = node->children;
- if ((n = obt_xml_find_node(node, "policy")))
+ if ((n = obt_xml_find_node(node, "policy"))) {
if (obt_xml_node_contains(n, "UnderMouse"))
config_place_policy = OB_PLACE_POLICY_MOUSE;
+ else if (obt_xml_node_contains(n, "LeastOverlap"))
+ config_place_policy = OB_PLACE_POLICY_LEASTOVERLAP;
+
+ }
if ((n = obt_xml_find_node(node, "center")))
config_place_center = obt_xml_node_bool(n);
if ((n = obt_xml_find_node(node, "monitor"))) {