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:
parent
9e4db4e63d
commit
d7568bc038
1 changed files with 4 additions and 2 deletions
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue