]> git.mdlowis.com Git - proto/labwc.git/commitdiff
xdg-shell: center view on first map
authorJohan Malm <jgm323@gmail.com>
Fri, 9 Jul 2021 20:43:27 +0000 (21:43 +0100)
committerJohan Malm <jgm323@gmail.com>
Fri, 9 Jul 2021 20:43:27 +0000 (21:43 +0100)
...and take into account output layout co-ordinates.

Previously xdg-shell views were just positioned at (0, 0) on first map
regardless of output co-ordinates.

Fix issue #39

src/xdg.c

index 1a99b71be7ef3f3b1d6308aed284b10e1eb5319a..1860b05f994b4372da73bd86a5abdde9963e9802 100644 (file)
--- a/src/xdg.c
+++ b/src/xdg.c
@@ -224,11 +224,9 @@ static void
 position_xdg_toplevel_view(struct view *view)
 {
        if (istopmost(view)) {
-               /*
-                * For topmost xdg-toplevel, we just top/left align for the
-                * time being
-                */
-               view->x = view->y = 0;
+               view->w = view->xdg_surface->geometry.width;
+               view->h = view->xdg_surface->geometry.height;
+               view_center(view);
        } else {
                /*
                 * If child-toplevel-views, we center-align relative to their
@@ -274,8 +272,8 @@ xdg_toplevel_view_map(struct view *view)
                                 parent_link) {
                        subsurface_create(view, subsurface);
                }
+               view->been_mapped = true;
        }
-       view->been_mapped = true;
 
        view->commit.notify = handle_commit;
        wl_signal_add(&view->xdg_surface->surface->events.commit,