From 3a049b36b3ea180404ad37ee624c713febfffbf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20M=2E=20C=2E=20Hluchan?= Date: Fri, 14 Aug 2026 20:11:07 -0300 Subject: [PATCH] fix(platform): add XIM fallback with @im=none on Linux (#1806) Bug Fixes: - Improved input-method initialization on X11 by retrying with a fallback backend when the initial connection fails. - Preserved clear error handling if both connection attempts are unsuccessful. --- src/framework/platform/x11window.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/framework/platform/x11window.cpp b/src/framework/platform/x11window.cpp index fbc4e4dd1..814411072 100644 --- a/src/framework/platform/x11window.cpp +++ b/src/framework/platform/x11window.cpp @@ -539,6 +539,11 @@ bool X11Window::internalSetupWindowInput() XSetLocaleModifiers(""); m_xim = XOpenIM(m_display, nullptr, nullptr, nullptr); + if (!m_xim) { + // Fallback to internal XIM if ibus/fcitx daemon is unavailable or incompatible + XSetLocaleModifiers("@im=none"); + m_xim = XOpenIM(m_display, nullptr, nullptr, nullptr); + } if (!m_xim) { g_logger.error("XOpenIM failed"); return false;