summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/qt4/ibus-client.cpp6
-rw-r--r--lib/gtk2/ibusimclient.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/client/qt4/ibus-client.cpp b/client/qt4/ibus-client.cpp
index a56d909..2f75d5a 100644
--- a/client/qt4/ibus-client.cpp
+++ b/client/qt4/ibus-client.cpp
@@ -46,13 +46,15 @@ IBusClient::IBusClient ()
{
username = getlogin ();
if (username.isEmpty ())
+ username = getenv ("SUDO_USER");
+ if (username.isEmpty ())
+ username = getenv ("USERNAME");
+ if (username.isEmpty ())
username = getenv ("LOGNAME");
if (username.isEmpty ())
username = getenv ("USER");
if (username.isEmpty ())
username = getenv ("LNAME");
- if (username.isEmpty ())
- username = getenv ("USERNAME");
session = getenv ("DISPLAY");
if (session.indexOf (".") == -1) {
diff --git a/lib/gtk2/ibusimclient.c b/lib/gtk2/ibusimclient.c
index 006c50b..7ac8797 100644
--- a/lib/gtk2/ibusimclient.c
+++ b/lib/gtk2/ibusimclient.c
@@ -374,13 +374,15 @@ _ibus_im_client_ibus_open (IBusIMClient *client)
username = g_strdup (getlogin());
if (username == NULL)
+ username = g_strdup (g_getenv("SODO_USER"));
+ if (username == NULL)
+ username = g_strdup (g_getenv("USERNAME"));
+ if (username == NULL)
username = g_strdup (g_getenv("LOGNAME"));
if (username == NULL)
username = g_strdup (g_getenv("USER"));
if (username == NULL)
username = g_strdup (g_getenv("LNAME"));
- if (username == NULL)
- username = g_strdup (g_getenv("USERNAME"));
ibus_addr = g_strdup_printf (
"unix:path=/tmp/ibus-%s/ibus-%s-%s.%s",