view: constrain window size to that of usable area

...on first map (when application is started).

Fixes #1399
This commit is contained in:
Johan Malm 2024-01-06 21:36:12 +00:00 committed by Johan Malm
parent bce0c6ce56
commit c646c7bd1b
4 changed files with 24 additions and 0 deletions

View file

@ -731,6 +731,25 @@ view_place_initial(struct view *view)
view_center(view, NULL);
}
void
view_constrain_size_to_that_of_usable_area(struct view *view)
{
if (!view || !view->output) {
return;
}
struct wlr_box *usable_area = &view->output->usable_area;
struct border margin = ssd_get_margin(view->ssd);
struct wlr_box box = {
.x = view->pending.x,
.y = view->pending.y,
.width = MIN(usable_area->width - margin.left - margin.right,
view->pending.width),
.height = MIN(usable_area->height - margin.top - margin.bottom,
view->pending.height),
};
view_move_resize(view, box);
}
static void
view_apply_natural_geometry(struct view *view)
{