static Rect *pick_head(ObClient *c)
{
Rect *area = NULL;
- gint i;
+ gint i, 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;
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))