diff options
| author | Mikael Magnusson <mikachu@gmail.com> | 2015-01-06 23:26:34 +0100 |
|---|---|---|
| committer | Mikael Magnusson <mikachu@gmail.com> | 2015-01-06 23:26:45 +0100 |
| commit | d7568bc0388fb1b374dc0a8c7afdaa36e7b0f05f (patch) | |
| tree | ac43cb7cda5886f4b29643242fbda6eb81487f44 | |
| parent | 9e4db4e63d2bc00d82ca462c15c1985f27fe972d (diff) | |
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.
| -rw-r--r-- | openbox/actions/showmenu.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/openbox/actions/showmenu.c b/openbox/actions/showmenu.c index 0fdd8be2..7411e981 100644 --- a/openbox/actions/showmenu.c +++ b/openbox/actions/showmenu.c @@ -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 */ |
