mirror of
https://github.com/swaywm/sway.git
synced 2026-04-27 06:46:25 -04:00
xwayland: handle floating configure request size
This makes it so the container gets resized by a configure request for xwayland floating views. The minimum and maximum sizes are also respected. Previously, the configure request was resizing the surface to the size requested, but never changing the container size. This caused the surface to be rendered outside of the container or to be smaller than the container. The former is never ideal and the latter makes no sense for floating views since the container itself can just be shrunk.
This commit is contained in:
parent
783b3d6b37
commit
59540c1a75
1 changed files with 10 additions and 2 deletions
|
|
@ -432,8 +432,16 @@ static void handle_request_configure(struct wl_listener *listener, void *data) {
|
|||
return;
|
||||
}
|
||||
if (container_is_floating(view->container)) {
|
||||
configure(view, view->container->current.content_x,
|
||||
view->container->current.content_y, ev->width, ev->height);
|
||||
// Respect minimum and maximum sizes
|
||||
view->natural_width = ev->width;
|
||||
view->natural_height = ev->height;
|
||||
container_init_floating(view->container);
|
||||
|
||||
configure(view, view->container->content_x,
|
||||
view->container->content_y,
|
||||
view->container->content_width,
|
||||
view->container->content_height);
|
||||
node_set_dirty(&view->container->node);
|
||||
} else {
|
||||
configure(view, view->container->current.content_x,
|
||||
view->container->current.content_y,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue