Special case for unusual monitor setup

When no monitor is at (0,0), the screen rect containing all monitors
is not at the origin, but screen_apply_gravity_point assumes the passed
x/y are relative to the passed area, so adjust them.
This commit is contained in:
Mikael Magnusson 2015-01-06 23:26:34 +01:00
parent 9e4db4e63d
commit d7568bc038

View file

@ -109,9 +109,11 @@ static gboolean run_func(ObActionsData *data, gpointer options)
position = o->position;
} else {
const Rect *allmon;
monitor = screen_num_monitors;
position.x.pos = data->x;
position.y.pos = data->y;
allmon = screen_physical_area_monitor(monitor);
position.x.pos = data->x - allmon->x;
position.y.pos = data->y - allmon->y;
}
/* you cannot call ShowMenu from inside a menu */