[SCIM] SCIM should commit the preedit string before switching off

Mike FABIAN mfabian at suse.de
Mon Oct 11 10:28:21 PDT 2004


I think the following is a bug in SCIM:

Start konsole using QT_IM_MODULE=scim.

Switch on scim input. Choose input method "UIM-anthy".

Type "a". The OnTheSpot preedit string in konsole shows "$B$"(B".  As this
string is not yet committed, it is marked as a preedit string.  In
konsole this means that the background color is dark green.

Now switch off scim. The "$B$"(B" is not committed, you still see it
marked as preedit by the dark green background.

Now type " ". The green preedit background moves right one single
width character. Now it only covers the right half of $B$"(B.

See screen shot

http://www.suse.de/~mfabian/misc/scim-20041011/konsole-preedit-colour-moved-right.png.

Now type return. Now konsole looks like in screen shot 

http://www.suse.de/~mfabian/misc/scim-20041011/konsole-messed-up-by-preedit-colour.png

This problem will not go away anymore. "reset" will not help. The mess
becomes worse and worse. See screen shot

http://www.suse.de/~mfabian/misc/scim-20041011/konsole-completely-messed-up-by-preedit-colour.png

One has to start a new konsole to get rid of the problem.

If SCIM would force a commit of the preedit string before switching
off, this problem would not occur.

Other input methods I have tried like uim-anthy via
QT_IM_MODULE=uim-anthy or kinput2 do commit the preedit string before
switching off.

I think scim should do the same.

The problem with the remaining preedit colour junk is probably a bug
in konsole, not in scim.

But nevertheless I think that forcing a commit before switching off
scim is a good idea.

Not doing that is confusing in most other applications as well
although it doesn't produce such catastrophic results like in konsole.

For example in Mozilla/Firefox (using GTK_IM_MODULE=scim)

Switch on scim using the UIM-anthy input method. Type "a". You see "$B$"(B
", marked as a predit string by a red underline. Now switch off scim.
The preedit string vanishes! Committing would be better here.  Type
some ascii characters. Switch scim on again. The preedit string $B$"(B
appears again. This is surprising and confusing.

The same problem as in Mozilla/Firefox is also seen when using
OpenOffice.

In applications using OverTheSpot like mlterm, the preedit string is
in an additional window, but otherwise the behavior is the same.  It
is not commited when switching off scim and appears again when
switching scim on again.

-- 
Mike FABIAN   <mfabian at suse.de>   http://www.suse.de/~mfabian
$B?gL2ITB-$O$$$$;E;v$NE($@!#(B


More information about the scim mailing list