]> git.mdlowis.com Git - proto/labwc.git/commitdiff
CSD: Fix no fullscreen at startup in some applications without ssd
authorARDiDo <90479315+ARDiDo@users.noreply.github.com>
Sat, 29 Jan 2022 15:44:15 +0000 (10:44 -0500)
committerARDiDo <90479315+ARDiDo@users.noreply.github.com>
Sat, 29 Jan 2022 15:44:15 +0000 (10:44 -0500)
src/xdg.c
src/xwayland.c

index 44d9f95007fb222258380bb76848707f1c049094..02b202e384ec8bb3f1d2a60ba60ede1b7dcbd0a2 100644 (file)
--- a/src/xdg.c
+++ b/src/xdg.c
@@ -331,6 +331,8 @@ xdg_toplevel_view_map(struct view *view)
        view->mapped = true;
        view->surface = view->xdg_surface->surface;
        if (!view->been_mapped) {
+               struct wlr_xdg_toplevel_requested *requested =
+                       &view->xdg_surface->toplevel->requested;
                foreign_toplevel_handle_create(view);
 
                view->ssd.enabled = has_ssd(view);
@@ -340,6 +342,13 @@ xdg_toplevel_view_map(struct view *view)
                }
 
                update_padding(view);
+               if (!view->fullscreen && requested->fullscreen) {
+                       view_set_fullscreen(view, true,
+                               requested->fullscreen_output);
+               } else if (!view->maximized && requested->maximized) {
+                       view_maximize(view, true);
+               }
+
                if (!view->maximized && !view->fullscreen) {
                        position_xdg_toplevel_view(view);
                }
index 623310ad91a336e0df511449e38c1fd775eb6ba9..a8194562238e4880f6ece3ac7bdc9a102de76c40 100644 (file)
@@ -255,6 +255,9 @@ static void
 map(struct view *view)
 {
        view->mapped = true;
+       if (!view->fullscreen && view->xwayland_surface->fullscreen) {
+               view_set_fullscreen(view, true, NULL);
+       }
        if (!view->maximized && !view->fullscreen) {
                view->x = view->xwayland_surface->x;
                view->y = view->xwayland_surface->y;