From: ARDiDo <90479315+ARDiDo@users.noreply.github.com> Date: Tue, 19 Oct 2021 00:55:01 +0000 (-0400) Subject: clean up view_available_wlr_output X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=380b8b295aacde385ddea1a794c24f173b1c1204;p=proto%2Flabwc.git clean up view_available_wlr_output --- diff --git a/src/view.c b/src/view.c index bdcaa8fc..5e259c4e 100644 --- a/src/view.c +++ b/src/view.c @@ -82,26 +82,21 @@ view_minimize(struct view *view, bool minimized) static struct wlr_output * view_available_wlr_output(struct view *view) { - /* checks all of a view's corners */ - struct wlr_output *output = wlr_output_layout_output_at( - view->server->output_layout, view->x, view->y + view->h); - if (output) { - return output; - } - output = wlr_output_layout_output_at(view->server->output_layout, - view->x + view->w, view->y + view->h); - if (output) { - return output; - } - output = wlr_output_layout_output_at(view->server->output_layout, - view->x + view->w, view->y); - if (output) { - return output; - } - output = wlr_output_layout_output_at(view->server->output_layout, - view->x, view->y); - - return output; + int corners[4] = {view->x, view->x + view->w, view->y, + view->y + view->h}; + int i, j = 2; + struct wlr_output *output; + for (i = 0; i < 4; i++) { + output = wlr_output_layout_output_at(view->server->output_layout, + corners[i % 2], corners[j] ); + + if (output) { + return output; + } else if (i % 2) { + j++; + } + } + return NULL; } /* view_wlr_output - return the output that a view is mostly on */