From: Mikael Magnusson Date: Tue, 6 Jan 2015 22:26:34 +0000 (+0100) Subject: Special case for unusual monitor setup X-Git-Tag: release-3.6.0~6 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=d7568bc0388fb1b374dc0a8c7afdaa36e7b0f05f;p=dana%2Fopenbox.git 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. --- 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 */