Nux

Code review comment for lp:~paulliu/nux/nux

Revision history for this message
Ying-Chun Liu (paulliu) wrote :

Hi Brandon,

Normally the user only use one IM. The user can install many IMs, and maybe running them together, but the apps will choose only one IM by XMODIFIERS environment variable. XSetLocaleModifiers() does this. And then we use XRegisterIMInstantiateCallback() which will be based on the value of XMODIFIERS.

BTW, ibus also supports XIM. So that means if without this block: "if (xmodifier && strstr(xmodifier,"ibus") != NULL) {...}", the ibus will use XIM protocol for nux and thus the ibus still works.
We adds the block here just to make sure that there's no regressions when using ibus.
ibus will use the original code, not the XIM.

A normal user would only use one IM because XMODIFIERS is assigned by im-switch.
But advanced user can use "env XMODIFIERS=otherim foo" to launch an app. And that app will use the specified IM. We can detect ibus daemon is running or not. But I think using XMODIFIERS to choose between im should be better and standard.

I can get gcin running. But gcin is tight binding on a lot of stuff. And yes, the setup is not very simple. I remember I installed a lot of gcin related stuff to make it work. Please make sure that gcin-* is all installed. And click the 4-th button of gcin-tools, make sure that some *Chinese* input methods are enabled.

Yours Sincerely,
Paul

« Back to merge proposal