From 475c13414479d1013c83309fcc4bb8a8707aa721 Mon Sep 17 00:00:00 2001
From: Leonardo Hernández Hernández <leohdz172@protonmail.com>
Date: Fri, 18 Mar 2022 01:25:53 -0600
Subject: do not allow set client size less than its min size

---
 client.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

(limited to 'client.h')

diff --git a/client.h b/client.h
index 191dcc5..c59b7a9 100644
--- a/client.h
+++ b/client.h
@@ -179,3 +179,23 @@ client_surface_at(Client *c, double cx, double cy, double *sx, double *sy)
 #endif
 	return wlr_xdg_surface_surface_at(c->surface.xdg, cx, cy, sx, sy);
 }
+
+static inline void
+client_min_size(Client *c, int *width, int *height)
+{
+	struct wlr_xdg_toplevel *toplevel;
+	struct wlr_xdg_toplevel_state *state;
+#ifdef XWAYLAND
+	if (client_is_x11(c)) {
+		struct wlr_xwayland_surface_size_hints *size_hints;
+		size_hints = c->surface.xwayland->size_hints;
+		*width = size_hints->min_width;
+		*height = size_hints->min_height;
+		return;
+	}
+#endif
+	toplevel = c->surface.xdg->toplevel;
+	state = &toplevel->current;
+	*width = state->min_width;
+	*height = state->min_height;
+}
-- 
cgit v1.2.3