summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@proton.me>2023-11-01 12:16:02 -0600
committerLeonardo Hernández Hernández <leohdz172@proton.me>2023-11-01 12:16:02 -0600
commite45ded7eea0c77db8ff13148a51a910bac13b48a (patch)
tree62e4dd5b32d94602532d410d1a6af3659555f3fb
parente5e74acfce05502181a0eaa6e252140e1572d925 (diff)
ignore maximize events for clients using xdg-shell v5 and newer
-rw-r--r--dwl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/dwl.c b/dwl.c
index 6db82d6..cde99fe 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1587,9 +1587,14 @@ maximizenotify(struct wl_listener *listener, void *data)
* typically because the user clicked on the maximize button on
* client-side decorations. dwl doesn't support maximization, but
* to conform to xdg-shell protocol we still must send a configure.
+ * Since xdg-shell protocol v5 we should ignore request of unsupported
+ * capabilities, just schedule a empty configure when the client uses <5
+ * protocol version
* wlr_xdg_surface_schedule_configure() is used to send an empty reply. */
Client *c = wl_container_of(listener, c, maximize);
- wlr_xdg_surface_schedule_configure(c->surface.xdg);
+ if (wl_resource_get_version(c->surface.xdg->resource)
+ < XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION)
+ wlr_xdg_surface_schedule_configure(c->surface.xdg);
}
void