]> git.mdlowis.com Git - proto/labwc.git/commitdiff
clean up view_available_wlr_output
authorARDiDo <90479315+ARDiDo@users.noreply.github.com>
Tue, 19 Oct 2021 00:55:01 +0000 (20:55 -0400)
committerJohan Malm <johanmalm@users.noreply.github.com>
Wed, 20 Oct 2021 05:51:30 +0000 (06:51 +0100)
src/view.c

index bdcaa8fc8133d686e8d6b73b75c99753e6f2d883..5e259c4ef39e56e0e327cc0187a8b0bc42b41150 100644 (file)
@@ -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 */