Dominique Leuenberger
f55e657c25
- Don't override QT_IM_MODULE and XMODIFIERS if already set (boo#947576): gnome-settings-daemon-dont-override-xim-presets.patch OBS-URL: https://build.opensuse.org/request/show/340527 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-settings-daemon?expand=0&rev=231
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
From: Takashi Iwai <tiwai@suse.de>
|
|
Subject: Don't override preset xim setups
|
|
References: boo#947576
|
|
|
|
When $QT_IM_MODULE or $XMODIFIERS has been already set beforehand,
|
|
we should honor it and not override brutally. This makes GNOME as
|
|
a good citizen coping with other IMs more smoothly.
|
|
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
---
|
|
gnome-settings-daemon/gnome-settings-daemon-localeexec.in | 4 ++--
|
|
gnome-settings-daemon/main.c | 11 +++++++++--
|
|
2 files changed, 11 insertions(+), 4 deletions(-)
|
|
|
|
--- a/gnome-settings-daemon/gnome-settings-daemon-localeexec.in
|
|
+++ b/gnome-settings-daemon/gnome-settings-daemon-localeexec.in
|
|
@@ -13,8 +13,8 @@ if [ -n "$REGION" ]; then
|
|
fi
|
|
|
|
if [ -x @prefix@/bin/ibus-daemon ]; then
|
|
- export QT_IM_MODULE=ibus
|
|
- export XMODIFIERS=@im=ibus
|
|
+ test -z "$QT_IM_MODULE" && export QT_IM_MODULE=ibus
|
|
+ test -z "$XMODIFIERS" && export XMODIFIERS=@im=ibus
|
|
fi
|
|
|
|
exec @libexecdir@/gnome-settings-daemon
|
|
--- a/gnome-settings-daemon/main.c
|
|
+++ b/gnome-settings-daemon/main.c
|
|
@@ -255,9 +255,16 @@ is_program_in_path (const char *binary)
|
|
static void
|
|
set_legacy_ibus_env_vars (GDBusProxy *proxy)
|
|
{
|
|
+ const char *p;
|
|
if (is_program_in_path ("ibus-daemon")) {
|
|
- set_session_env (proxy, "QT_IM_MODULE", "ibus");
|
|
- set_session_env (proxy, "XMODIFIERS", "@im=ibus");
|
|
+ p = getenv ("QT_IM_MODULE");
|
|
+ if (!p || !*p)
|
|
+ p = "ibus";
|
|
+ set_session_env (proxy, "QT_IM_MODULE", p);
|
|
+ p = getenv ("XMODIFIERS");
|
|
+ if (!p || !*p)
|
|
+ p = "@im=ibus";
|
|
+ set_session_env (proxy, "XMODIFIERS", p);
|
|
}
|
|
}
|
|
|