[Uim] Focus and cursor position shift handlings (bug #7729)

Etsushi Kato ek.kato at gmail.com
Wed Nov 29 15:36:57 EET 2006


On 11/29/06, Etsushi Kato <ek.kato at gmail.com> wrote:
> On 11/29/06, YAMAMOTO Kengo / YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> > > > And as noted above, to revise im reset code in
> > > > gtkentry.c/gtktextview.c, it requires preedit displace/place handlers
> > > > in GtkIMContext.  Do you intended that this also shouldn't be touched
> > > > at the moment?
>
> > As I said and you agreed with before as follows, we should not
> > revise GTK+ API for now.
> [...]
> >  phase | patch type      | API/ABI | resolves  | involves
> > -------+-----------------+---------+-----------+-------------------------------
> >  1     | workaround hack | kept    | kr,cn,etc | GTK+ developers
> >  2     | proper solution | broken  | ja        | GTK+, each IMs and distros
> >
> > The phase 1 is supposed to take few months, and it resolves the
> > Korean IM problem by replacing reset() with
> > fix_im_context_weakly(). Since this method uses preexisting
> > focus-out/in interface to notice the contexts to be fixed,
> > nothing is needed to follow this change by each IMs. This also
> > resolves the corrupted reset() use of GTK+ which assumes that
> > all input contexts are ephemeral. It is beneficial for Japanese
> > IMs too and sufficient for now.
>
> OK.   So you intended just replacing most of the reset() in GTK+ with
> fix_im_context_weakly(), and postpone to use displace()/place() until
> whole IM module revision.  I totally didn't think of using
> fix_im_context_weakly() as a reset()...
>
> IMHO, even it don't change API of immodule, it would be not so easy
> for GTK+ and other IM developers (and me) to accept
> fix_im_context_wealky() as reset() since it actually calls focus_out()
> and focus_in() of IM context at ordinary reset timing, and other IMs
> possibly haven't implemented focus_in()/focus_out() handlers as such
> purpose (as gtkimcontextsimple haven't implemented the focus
> handlers).  This may also involves other IM developers contrary to
> your expectation.

>From the reason above, I prefer revise all the API at once.  But this
is not practical at the moment, I rather use focus_out()/focus_in()
sequence as a reset() only in uim's GTK+ bridge instead of the phase 1
of your plan.  And not touch GTK+ reset code for now.

Cheers,
-- 
Etsushi Kato
ek.kato at gmail.com



More information about the uim mailing list