event will come as a GrabNotify which is ignored, so this
makes a fake enter event
*/
- if ((c = client_under_pointer()) && c != data->any.c)
+ if ((c = client_under_pointer()) && c != data->any.c) {
+ ob_debug_type(OB_DEBUG_FOCUS,
+ "Generating fake enter because we did a "
+ "mouse-event action");
event_enter_client(c);
+ }
}
}
}
{
ObClient *c = data->client.any.c;
Rect *area;
- area = screen_area_monitor(c->desktop, 0);
+ area = screen_area(c->desktop, client_monitor(c), NULL);
client_action_start(data);
client_move(c, area->width / 2 - c->area.width / 2,
area->height / 2 - c->area.height / 2);
client_action_end(data, FALSE);
+ g_free(area);
}
void action_resize_relative_horz(union ActionData *data)
ObClient *c = data->diraction.any.c;
Rect *a;
- a = screen_area(c->desktop);
+ a = screen_area(c->desktop, SCREEN_AREA_ALL_MONITORS, &c->frame->area);
x = c->frame->area.x;
y = c->frame->area.y;
/* get the unshaded frame's dimensions..if it is shaded */
client_action_start(data);
client_move_resize(c, x, y, width, height);
client_action_end(data, FALSE);
+ g_free(a);
}
void action_send_to_layer(union ActionData *data)