mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-29 16:05:59 +01:00
xwm: use min size as base size hint if it is missing and vice versa
This is what ICCCM states that a WM should do.
This commit is contained in:
parent
6a60dafe59
commit
c9b9e48525
1 changed files with 13 additions and 1 deletions
|
@ -583,10 +583,22 @@ static void read_surface_normal_hints(struct wlr_xwm *xwm,
|
||||||
memcpy(xsurface->size_hints, &size_hints,
|
memcpy(xsurface->size_hints, &size_hints,
|
||||||
sizeof(struct wlr_xwayland_surface_size_hints));
|
sizeof(struct wlr_xwayland_surface_size_hints));
|
||||||
|
|
||||||
if ((size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE) == 0) {
|
bool has_min_size_hints = (size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE) == 0;
|
||||||
|
bool has_base_size_hints = (size_hints.flags & XCB_ICCCM_SIZE_HINT_BASE_SIZE) == 0;
|
||||||
|
/* ICCCM says that if absent, min size is equal to base size and vice versa */
|
||||||
|
if (!has_min_size_hints && !has_base_size_hints) {
|
||||||
xsurface->size_hints->min_width = -1;
|
xsurface->size_hints->min_width = -1;
|
||||||
xsurface->size_hints->min_height = -1;
|
xsurface->size_hints->min_height = -1;
|
||||||
|
xsurface->size_hints->base_width = -1;
|
||||||
|
xsurface->size_hints->base_height = -1;
|
||||||
|
} else if (!has_base_size_hints) {
|
||||||
|
xsurface->size_hints->base_width = xsurface->size_hints->min_width;
|
||||||
|
xsurface->size_hints->base_height = xsurface->size_hints->min_height;
|
||||||
|
} else if (!has_min_size_hints) {
|
||||||
|
xsurface->size_hints->base_width = xsurface->size_hints->min_width;
|
||||||
|
xsurface->size_hints->base_height = xsurface->size_hints->min_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE) == 0) {
|
if ((size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE) == 0) {
|
||||||
xsurface->size_hints->max_width = -1;
|
xsurface->size_hints->max_width = -1;
|
||||||
xsurface->size_hints->max_height = -1;
|
xsurface->size_hints->max_height = -1;
|
||||||
|
|
Loading…
Reference in a new issue