git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit6e61c2fa21658881e693bd70981971fb71f0ca4c
parent9b113adb4d
authorZuki Air <[email protected]>
date2026-02-28 09:32
Xwayland: don't use min_width/min_height as fallback max_width/max_height

 river/XwaylandWindow.zig | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/river/XwaylandWindow.zig b/river/XwaylandWindow.zig
index ce6a24b..43e5fc3 100644
--- a/river/XwaylandWindow.zig
+++ b/river/XwaylandWindow.zig
@@ -196,11 +196,19 @@ pub fn handleMap(listener: *wl.Listener(void)) void {
     if (xwindow.xsurface.size_hints) |size_hints| {
         const min_width: u31 = @max(0, size_hints.min_width);
         const min_height: u31 = @max(0, size_hints.min_height);
+        var max_width: u31 = @max(0, size_hints.max_width);
+        var max_height: u31 = @max(0, size_hints.max_height);
+        if (min_width > max_width) {
+            max_width = min_width;
+        }
+        if (min_height > max_height) {
+            max_height = min_height;
+        }
         window.setDimensionsHint(.{
             .min_width = min_width,
-            .max_width = @max(min_width, size_hints.max_width),
+            .max_width = max_width,
             .min_height = min_height,
-            .max_height = @max(min_height, size_hints.max_height),
+            .max_height = max_height,
         });
     }