[immodule-qt] introducing QT_IM_SWITCHER environment variable

LiuCougar liucougar at gmail.com
Tue Aug 3 20:10:22 EEST 2004


What about a qtrc option, rather than an environment variable?

I think the overall idea is good, but I prefer a qtrc option (or both?).

On Tue, 03 Aug 2004 14:59:06 +0900, YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> 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
> 
> 
> 


-- 
"People's characters are strengthened through struggle against
difficulties; they are weakened by comfort."
- Old Chinese adage



More information about the immodule-qt mailing list