[immodule-qt] introducing QT_IM_SWITCHER environment variable

Kazuki Ohta mover at hct.zaq.ne.jp
Wed Aug 4 03:02:06 EEST 2004


Hi, Yamaken.

Your idea seems cool!
thanks for your work.

regards.

> Hi all, I propose a new configuration convention about
> IM-switching. Please reply about my opinion and attached patch.
>
> In our current implementation, there is a usability problem. We
> can configure default IM plugin using QT_IM_MODULE env var (or
> the equivalent in qtrc), but there is no way to control default
> IM on QMultiInputContext because it is an ordinary plugin. The
> user interface is not useful.
>
> application          <- QT_IM_MODULE="multi"
>
> QMultiInputContext
>
> QFooInputContext
>
>
> To resolve such problem, we can introduce additional
> configuration variable for QMultiInputContext. The Qt itself is
> not aware of QT_IM_MODULE_FOR_SWITCHER variable.
>
> application          <- QT_IM_MODULE="multi"
>
> QMultiInputContext   <- QT_IM_MODULE_FOR_SWITCHER="bar"
>
> QBarInputContext
>
>
> Although the problem itself can be resolved as above,
> unnecessary confusion is also introduced by the solution. Most
> users will configure QT_IM_MODULE to choose their own favorite
> IM because they always configure so in GTK+ environment. They
> will be confused if the configuration QT_IM_MODULE="bar" makes
> IM-switching menu vanish.
>
> application          <- QT_IM_MODULE="bar"
>
> QBarInputContext
>
>
> To avoid the confusion, I propose following naming
> convention. The name QT_IM_SWITCHER is just a trick for users to
> form appropriate mental model. Qt itself is not treat
> IM-switchers specially. It is still ordinary IM plugin.
>
> application          <- QT_IM_SWITCHER="multi" (default)
>
> QMultiInputContext   <- QT_IM_MODULE="bar"
>
> QBarInputContext
>
>
> The convention is upward compatible with GTK+. In GTK+, the
> equivalent of QMultiInputContext is hardcoded as default and not
> replaceable. But IM-switcher should be replaceable as I said
> recently, so I propose the new convention.
>
> application         <- gtk_im_multicontext_new()
>
> GtkIMMulticontext   <- GTK_IM_MODULE="bar"
>
> GtkIMBarContext
>
>
> To accomplish the new convention, I've renamed the identifier
> name of QMultiInputContext "multi" as "imsw-multi". The "imsw-"
> prefix prevents IM-switchers from being listed in popup menu as
> input method. All other IM-switcher implementation is also
> expected to follow this "imsw-" convention. I think that it
> should not be API such as QInputContextPlugin::isIMSwitcher()
> because Qt API should be isolated from IM-switcher issues.
>
> If a system integrator such as RedHat want to make a specific
> IM-framework the switcher, the patch offers following
> configuration.
>
> application          <- QT_IM_SWITCHER="iiimqcf"
>
> IIIMInputContext
>
> (IIIMF's own switching framework)
>
> -------------------------------
> YamaKen  yamaken at bp.iij4u.or.jp

-- 
---------------------------------
Move the worl:D!
Kazuki Ohta : mover at hct.zaq.ne.jp



More information about the immodule-qt mailing list