From 47809c57834677da09ddf7362d1d8b22cb7c340e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 4 Aug 2025 10:40:29 +0800 Subject: [PATCH] fix: build fail for non xwayland --- src/client/client.h | 12 ++++++++++++ src/mango.c | 11 ++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/client/client.h b/src/client/client.h index 93a574f..215d56e 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -456,3 +456,15 @@ static inline int client_wants_fullscreen(Client *c) { #endif return c->surface.xdg->toplevel->requested.fullscreen; } + +static inline bool client_request_minimize(Client *c, void *data) { + +#ifdef XWAYLAND + if (client_is_x11(c)) { + struct wlr_xwayland_minimize_event *event = data; + return event->minimize; + } +#endif + + return c->surface.xdg->toplevel->requested.minimized; +} \ No newline at end of file diff --git a/src/mango.c b/src/mango.c index c75ed15..313e766 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3419,20 +3419,13 @@ minimizenotify(struct wl_listener *listener, void *data) { // togglemaxmizescreen(&(Arg){0}); Client *c = wl_container_of(listener, c, minimize); - struct wlr_xwayland_minimize_event *event = data; if (!c || !c->mon || c->iskilling || c->isminied) return; - if (!client_is_x11(c)) { - if (!c->surface.xdg->toplevel->requested.minimized) - return; - } else { - if (!event->minimize) - return; + if (client_request_minimize(c, data)) { + set_minized(c); } - - set_minized(c); } void motionabsolute(struct wl_listener *listener, void *data) {