CSD: Fix no fullscreen at startup in some applications without ssd

This commit is contained in:
ARDiDo 2022-01-29 10:44:15 -05:00
parent 3658c2bfb3
commit e2cca1f040
2 changed files with 12 additions and 0 deletions

View file

@ -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);
}

View 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;