guint config_focus_delay;
gboolean config_focus_raise;
gboolean config_focus_last;
+gboolean config_focus_under_mouse;
ObPlacePolicy config_place_policy;
dst->pos_given = TRUE;
dst->center_x = src->center_x;
dst->center_y = src->center_y;
+ dst->opposite_x = src->opposite_x;
+ dst->opposite_y = src->opposite_y;
dst->position.x = src->position.x;
dst->position.y = src->position.y;
dst->monitor = src->monitor;
settings->center_x = TRUE;
x_pos_given = TRUE;
} else {
- settings->position.x = parse_int(doc, c);
+ if (s[0] == '-')
+ settings->opposite_x = TRUE;
+ if (s[0] == '-' || s[0] == '+')
+ settings->position.x = atoi(s+1);
+ else
+ settings->position.x = atoi(s);
x_pos_given = TRUE;
}
g_free(s);
settings->center_y = TRUE;
settings->pos_given = TRUE;
} else {
- settings->position.y = parse_int(doc, c);
+ if (s[0] == '-')
+ settings->opposite_y = TRUE;
+ if (s[0] == '-' || s[0] == '+')
+ settings->position.y = atoi(s+1);
+ else
+ settings->position.y = atoi(s);
settings->pos_given = TRUE;
}
g_free(s);
config_focus_raise = parse_bool(doc, n);
if ((n = parse_find_node("focusLast", node)))
config_focus_last = parse_bool(doc, n);
+ if ((n = parse_find_node("underMouse", node)))
+ config_focus_under_mouse = parse_bool(doc, n);
}
static void parse_placement(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
config_focus_follow = FALSE;
config_focus_delay = 0;
config_focus_raise = FALSE;
- config_focus_last = FALSE;
+ config_focus_last = TRUE;
+ config_focus_under_mouse = FALSE;
parse_register(i, "focus", parse_focus, NULL);
parse_register(i, "keyboard", parse_keyboard, NULL);
- config_mouse_threshold = 3;
+ config_mouse_threshold = 8;
config_mouse_dclicktime = 200;
bind_default_mouse();