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; }