From 58f885bb3cc593c0a9992efb1b916bdda03d4b52 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 22 Nov 2022 04:16:25 +0400 Subject: [PATCH] IBus: Use portal in snap Snap supports the IBus portal for two years, but Qt applications don't take its advantage in snap without setting IBUS_USE_PORTAL Change-Id: I26a044d657c4b7040a21a8510116c0c7af7aaa52 Reviewed-by: Thiago Macieira --- .../ibus/qibusplatforminputcontext.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp index b058c1b5eb0..08602547264 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp @@ -573,15 +573,16 @@ void QIBusPlatformInputContext::connectToContextSignals() } } -static inline bool checkRunningUnderFlatpak() +static inline bool checkNeedPortalSupport() { - return !QStandardPaths::locate(QStandardPaths::RuntimeLocation, "flatpak-info"_L1).isEmpty(); + return !QStandardPaths::locate(QStandardPaths::RuntimeLocation, "flatpak-info"_L1).isEmpty() + || qEnvironmentVariableIsSet("SNAP"); } static bool shouldConnectIbusPortal() { // honor the same env as ibus-gtk - return (checkRunningUnderFlatpak() || !qgetenv("IBUS_USE_PORTAL").isNull()); + return (checkNeedPortalSupport() || qEnvironmentVariableIsSet("IBUS_USE_PORTAL")); } QIBusPlatformInputContextPrivate::QIBusPlatformInputContextPrivate()