diff options
-rw-r--r-- | client/qt4/ibus-client.cpp | 6 | ||||
-rw-r--r-- | lib/gtk2/ibusimclient.c | 6 |
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", |