From e2cca1f040ea3211c79a315102fcc0dc68d43785 Mon Sep 17 00:00:00 2001 From: ARDiDo <90479315+ARDiDo@users.noreply.github.com> Date: Sat, 29 Jan 2022 10:44:15 -0500 Subject: [PATCH] CSD: Fix no fullscreen at startup in some applications without ssd --- src/xdg.c | 9 +++++++++ src/xwayland.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/xdg.c b/src/xdg.c index 44d9f950..02b202e3 100644 --- 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); } diff --git a/src/xwayland.c b/src/xwayland.c index 623310ad..a8194562 100644 --- a/src/xwayland.c +++ b/src/xwayland.c @@ -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;