From a721f1333addbb5997147e7f08b58197d9a4ab37 Mon Sep 17 00:00:00 2001 From: Ollie Date: Thu, 28 May 2026 22:40:23 +0200 Subject: [PATCH] wl_backend: display_get_name returns XWayland display instead of wayland-0 (fixes X11 child DISPLAY) --- src/backend/wayland/wl_backend.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 379abeb..34fe921 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -9799,7 +9799,15 @@ static void wl_noop_appmenu_send(WNativeWindow window, int what, int tag) { (void)window; (void)what; (void)tag; } static const char *wl_display_get_name(const char *name) -{ (void)name; return "wayland-0"; } +{ + /* For X11 clients launched under XWayland, return the XWayland display. + * For native Wayland clients, DON'T set DISPLAY (they use WAYLAND_DISPLAY). + * Fallback: return the Wayland display name for backward compatibility. */ + (void)name; + if (wl_state.xwayland && wl_state.xwayland->display_name) + return wl_state.xwayland->display_name; + return "wayland-0"; +} static void wl_noop_switchpanel_send_enter(WNativeWindow info_win, WNativeWindow window) { (void)info_win; (void)window; }