static Rect *pick_head(ObClient *c)
{
Rect *area = NULL;
- gint i;
+ guint i;
+ gint px, py;
/* try direct parent first */
if (c->transient_for && c->transient_for != OB_TRAN_GROUP) {
screen_pointer_pos(&px, &py);
for (i = 0; i < screen_num_monitors; i++) {
- area = screen_area_monitor(client->desktop, i);
+ area = screen_area_monitor(c->desktop, i);
if (RECT_CONTAINS(*area, px, py))
break;
}
if (i == screen_num_monitors)
- area = screen_area_monitor(client->desktop, 0);
+ area = screen_area_monitor(c->desktop, 0);
/* Last resort */
if (!area)
- area = screen_area_monitor(client->desktop,
+ area = screen_area_monitor(c->desktop,
g_random_int_range(0, screen_num_monitors));
return area;
static gboolean place_smart(ObClient *client, gint *x, gint *y,
ObSmartType type)
{
- guint i;
gboolean ret = FALSE;
GSList *spaces = NULL, *sit;
GList *it;
static gboolean place_under_mouse(ObClient *client, gint *x, gint *y)
{
- guint i;
gint l, r, t, b;
gint px, py;
Rect *area;
area = pick_head(client);
+ screen_pointer_pos(&px, &py);
l = area->x;
t = area->y;
static gboolean place_per_app_setting(ObClient *client, gint *x, gint *y,
ObAppSettings *settings)
{
- gint px, py, i;
Rect *screen;
if (!settings || (settings && !settings->pos_given))