On 7/16/06, Jan Willem Stumpel <[EMAIL PROTECTED]> wrote:
> I'm one of the developer of uim.  As far as I can tell, you can
> avoid this complete freeze of X by using --async option of
> uim-xim.

Thank you!!! This indeed works. In Debian Sid, I set
XIM_ARGS=--async in /etc/X11/xinit/xinput.d/uim-systray, and
indeed it works now exactly as you said: CPU usage goes to 100%
when I 'mis-hit' keys, but this is temporary and X does not
freeze. If no side effects are expected, I would vote for "async"
to be the default. I just wonder why Omote-san could not reproduce
this.

Hmm...  It it known that --async option has a side effect (and also
SCIM's x11 has) in inputting characters into Tck/Tk widget.  We cannot
input any character in Tcl/Tk version below 8.4.13.  And I think
our default behavior (not using --async) is suitable for old
applications like xfig and tgif.

> I think this bug is caused from invalid use of filter key event
> in mozilla in the address bar widget.

So you agree it is a bug? Can you reproduce it? If it is a bug in
Mozilla/Firefox, somebody should report it, but I'm afraid I do
not have the technical knowledge about 'filter key events' to
describe it exactly.

Yes, I can reproduce it.  But the bug is very difficult to describe
and solve.  IMHO, It can be said that the bug is in mozilla's complex
use of filter key event (how to handle key event) in term of XIM, but it
is indeed a problem in libX11's XIM protocol.  With gtk+ immodule other
than XIM (i.e. other than im-xim.so), this cannot be said a bug in
mozilla and it works perfectly.  X11's XIM protocol is not well defined
and not suitable for such a complex use of key filter event like mozilla.
This is why we recommend to abandon XIM.

> By the way, you seem to like using XIM instead of gtk+ immodule
> because of the compose sequences in X11.

Two reasons:

1 - the compose sequences. With uim default method = "direct", it
    is as if uim does not exist. There is just the arrow symbol in
    the systray. All the xkb/compose stuff works (not so with
    SCIM, that ís why I like uim better!). But if I want to use
    uim, it is there, and I can activate it by right-clicking on
    the arrow.
2 - xim always works. When I activate uim, I can use it
    everywhere: xterm programs, openoffice, qt programs, gtk
    programs, mozilla, even in xfig. Very simple, very neat.

I see.

For 1,

I've implemented X11's equivalent compose mechanism in uim-xim, so it
should work as if it doesn't exit :).

In gtk+ (Qt), maybe you can ask developers of gtk+ (Qt) directly to
support all the compose sequences of X11's.  Or maybe I can implement
uim's immodule to support them.  Also I as noted in previous mail,
please test uim's Latin IM with uim immodule (if you can find a bug
or request to it, please file a bug in uim's bugzilla at freedesktop.org).



For 2,

That's true.  But as I described above, XIM protocol is not very easy
to implement in a application properly (because XIM is not well
designed IMHO), and gtk+ or qt's immodule is more robust in complex
use of inputting mechanism.  So if a application support immodule and
uim or SCIM immodule is available, we recommend use uim (SCIM)
immodule.

So, just set GTK_IM_MODULE=uim and QT_IM_MODULE=uim environmental
variable.  And for the rest of traditional applications, just run
uim-xim at startup of X and set [EMAIL PROTECTED]  With this
setting, you can use uim everywhere.  It not so complex.

Cheers,
--
Etsushi Kato
[EMAIL PROTECTED]

Reply via email to