mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
xdg: Fix positioning of initially-maximized views
- Don't overwrite pending size in map() if it was already set - Don't reposition view in map() if maximized/fullscreen Also, as future-proofing in case we one day allow initially-tiled views, replace explicit maximized/fullscreen checks with view_is_floating().
This commit is contained in:
parent
a1b5e1939d
commit
db1d6fa308
2 changed files with 10 additions and 5 deletions
11
src/xdg.c
11
src/xdg.c
|
|
@ -340,16 +340,21 @@ xdg_toplevel_view_map(struct view *view)
|
|||
* view_set_fullscreen/view_maximize() below). "Current"
|
||||
* dimensions remain zero until handle_commit().
|
||||
*/
|
||||
view->pending.width = xdg_surface->current.geometry.width;
|
||||
view->pending.height = xdg_surface->current.geometry.height;
|
||||
if (wlr_box_empty(&view->pending)) {
|
||||
view->pending.width =
|
||||
xdg_surface->current.geometry.width;
|
||||
view->pending.height =
|
||||
xdg_surface->current.geometry.height;
|
||||
}
|
||||
|
||||
position_xdg_toplevel_view(view);
|
||||
if (!view->fullscreen && requested->fullscreen) {
|
||||
view_set_fullscreen(view, true,
|
||||
requested->fullscreen_output);
|
||||
} else if (!view->maximized && requested->maximized) {
|
||||
view_maximize(view, true,
|
||||
/*store_natural_geometry*/ true);
|
||||
} else if (view_is_floating(view)) {
|
||||
position_xdg_toplevel_view(view);
|
||||
}
|
||||
|
||||
view_moved(view);
|
||||
|
|
|
|||
|
|
@ -534,7 +534,7 @@ map(struct view *view)
|
|||
if (!view->been_mapped) {
|
||||
view_set_decorations(view, want_deco(xwayland_surface));
|
||||
|
||||
if (!view->maximized && !view->fullscreen) {
|
||||
if (view_is_floating(view)) {
|
||||
set_initial_position(view, xwayland_surface);
|
||||
}
|
||||
|
||||
|
|
@ -549,7 +549,7 @@ map(struct view *view)
|
|||
view->been_mapped = true;
|
||||
}
|
||||
|
||||
if (view->ssd_enabled && !view->fullscreen && !view->maximized) {
|
||||
if (view->ssd_enabled && view_is_floating(view)) {
|
||||
top_left_edge_boundary_check(view);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue