[gnome-settings-daemon] Don't override preset xim setups
- From: Dominique Leuenberger <dleuen src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] Don't override preset xim setups
- Date: Fri, 23 Oct 2015 11:51:08 +0000 (UTC)
commit 21a16d25d981f3ce34b764dbc8005dbf8edfbe97
Author: Takashi Iwai <tiwai suse de>
Date: Fri Oct 23 13:50:48 2015 +0200
Don't override preset xim setups
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-localeexec.in | 4 ++--
gnome-settings-daemon/main.c | 11 +++++++++--
2 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/gnome-settings-daemon/gnome-settings-daemon-localeexec.in
b/gnome-settings-daemon/gnome-settings-daemon-localeexec.in
index eed91a4..1edb3d2 100755
--- 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
diff --git a/gnome-settings-daemon/main.c b/gnome-settings-daemon/main.c
index 4d1140b..48d4bad 100644
--- 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);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]