Pluggable module support in uim(was Re: [Uim] Will you upload daily snapshots of UIM?)

YamaKen yamaken at bp.iij4u.or.jp
Tue Jan 11 05:56:03 EET 2005


At Tue, 11 Jan 2005 01:37:02 +0900,
tkng at xem.jp wrote:
> 
> On Tue, 11 Jan 2005 00:35:00 +0900
> YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> > I also want such features. Are your requirements as same as mine
> > listed below?
> > 
> > 1. Make what IM should be appeared for user manageable
> > 
> > 2. Load actual IM file lazily (i.e. selectable but not loaded at
> >    startup)
> 
> My porpose is only 2. My intention is to make a list of whole available
> inpput methods into a file. This file will be updated when users do
> "make install". If there are plural plugin directories, this list should
> be splitted into two files like:
> 
>   /usr/local/share/uim/im-list.scm
>   /home/user/.uim.d/plugins/im-list.scm
> 
> Merit of this way is, we don't need to load all input methods to get a
> list of available input methods. Because my intension is to make a whole

Lazy loading implies that "we don't need to load all input
methods to get a list of available IMs". We talk about same
feature.

> list, I stick that "list should be update at installation time". If we
> could do this with uim-custom, I don't stick to dedicated file.

I had not intended installation-time list generation. I only
intended that generate the list by uim-pref or first startup of
libuim for the user (i.e. first startup loads all actual IM
files).

But installation-time list update you said is useful. I agree
with it.

I'll implement it as following if there are no other
requirements.

- generate system default im-list at libuim installation
- generate per-user im-list at per-user plugin installation
- generate per-user im-list by uim-pref
- generate per-user im-list when libuim startup without
  existence of the list (failsafe, should never run)

> > I think that we should implement such features by Scheme and
> > uim-custom facility as below, to simplify the implementation.
> > 
> > - The enabled IM list is managed and stored as an ordered-list
> >   custom variable rather than dedicated file
> > 
> > - Generate stub-IM for each enabled IMs. And they load actual IM
> >   file and set its own handler procs once its init-handler has
> >   been invoked. This provides lazy loading feature
> > 
> > - IM infomation provided by stub-IMs can be accessed by ordinary
> >   uim APIs such as uim_get_im_name(). The lazy loading process
> >   is transparent for libuim users
> > 
> > It may be implemented by few amount of Scheme codes, and we can
> > use bridges, helpers and libuim core without change.

-------------------------------
YamaKen  yamaken at bp.iij4u.or.jp



More information about the uim mailing list