mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
desktop: Avoid centering views without initial geometry
This commit is contained in:
parent
e465a41c0a
commit
859eba1c6b
2 changed files with 17 additions and 2 deletions
|
|
@ -46,12 +46,23 @@ desktop_move_to_back(struct view *view)
|
|||
void
|
||||
desktop_arrange_all_views(struct server *server)
|
||||
{
|
||||
/* Adjust window positions/sizes */
|
||||
/*
|
||||
* Adjust window positions/sizes. Skip views with no size since
|
||||
* we can't do anything useful with them; they will presumably
|
||||
* be initialized with valid positions/sizes later.
|
||||
*
|
||||
* We do not simply check view->mapped/been_mapped here because
|
||||
* views can have maximized/fullscreen geometry applied while
|
||||
* still unmapped. We do want to adjust the geometry of those
|
||||
* views.
|
||||
*/
|
||||
struct view *view;
|
||||
wl_list_for_each(view, &server->views, link) {
|
||||
if (!wlr_box_empty(&view->pending)) {
|
||||
view_adjust_for_layout_change(view);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
desktop_focus_and_activate_view(struct seat *seat, struct view *view)
|
||||
|
|
|
|||
|
|
@ -245,6 +245,10 @@ view_output(struct view *view)
|
|||
static bool
|
||||
view_compute_centered_position(struct view *view, int w, int h, int *x, int *y)
|
||||
{
|
||||
if (w <= 0 || h <= 0) {
|
||||
wlr_log(WLR_ERROR, "view has empty geometry, not centering");
|
||||
return false;
|
||||
}
|
||||
struct output *output = view_output(view);
|
||||
if (!output) {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue