What an excellent work you have done!
And please accept my respect!

And I had no intention of offending, but I have some worries to discuss with you:
1, These codes have copyright,
    https://github.com/ftake/chameleon-tongue/blob/master/COPYING#L1
    I'm not sure if there will be some trouble to merge into OpenSUSE.

2, The bin floder have 2 scripts, select-im is written in python, but start-im is written in bash;
    Maybe keep consistent is better.

3, Select the default IM framework base language is useless in my opinion,
    So I think select-im only accept an IM name parameter, and set for current user is enough.
    also, no need to divide in locale.d sub-folders. See my previous email.

4, In /misc/ folder, user use an icon to trigger auto select isn't friendly.
    I think we will have a GUI program in future, list all IM framework to allow customer choose 1.

5, In /profile.d/ you gracefully write  fcitx and ibus scripts here.
    but We should remember that there may be other IM frame like: scim, xim ...
    Also custemer may remove ibus or fcitx manually.
    So these start scripts are suppose to keep in the inputmethod rpms,
    On the other hand, The select program is independent and installed by default.

If there are anything wrong please correct me.
Thanks!

Qiang Zhao
 

>>> Takashi Iwai <tiwai@suse.de> 07/13/15 11:15 PM >>>
On Sun, 12 Jul 2015 17:35:22 +0200,
Fuminobu TAKEYAMA wrote:
>
> Hi,
>
> As you say, there are many issues and challenges with the way to start IMs.
>
> For example:
> - User-friendly IMs and IM frameworks selection
> - GNOME3 support
> - Kimpanel support
> - OOO_FORCE_DESKTOP
> - default settings of frameworks (such as Fcitx and IBus) depending on locale
> (Fcitx provides too many features for Chinese, which might be annoying for Japanese)
> - User-level IM settings v.s. system-wide IM settings
> - D-Bus server requirements
> - choosing input method frameworks after new one is installed
>
> With similar motivation, I am trying to implement a prototype of a new script:
> https://github.com/ftake/chameleon-tongue/

> This looks interesting. So this basically inherits the way to select
> the default IM framework per locale priority list, while the setup is
> split to several files. Using a symlink for pointing the use and
> system preference is a good idea.

> Below are some concerns and suggestions that came to my mind after a
> quick glance of the github repo:

> - Migration from old /etc/X11/xim setup;
> we need to keep the setup as much as possible. How can it be done
> gracefully?

> - Let's add a description file to each profile directory, e.g. create
> a file /usr/lib/input-method/profile.d/XXX/description, so that a
> program that selects IM can show the content of each entry more
> nicely.

> - Is the start of daemon solely done by the desktop file?
> What if a bare DE that doesn't start desktop files?

> - The ugly g-s-d workaround: can we implement this in a bit smarter
> way once when we redesign the framework?

> - It would be safer if we can avoid python for select-im...
> Otherwise python becomes mandatory for the whole system even for a
> minimal setup.


> thanks,

> Takashi

>
> Let's discuss and improve input methods.
>
> Fuminobu Takeyama
>
> On 2015/07/10 22:29, Qiang Zhao wrote:
> > M17N team members:
> > hi!
> > I'm handling with ibus debug works on SLED(S)now, and I'm new to SUSE M17N strategy,
> > but I have this question as subject.
> > *Current situation:*
> > Our IM server start like this:
> > 1) System boot, Then xinit launch /etc/X11/xim to start an IM server.
> > 2) Get /etc/sysconfig/language IM server selection. This changes the default for all users.
> > 3) If user define "INPUT_METHOD" in ~/.profile, then select IM server by it, and ignore step2's
> > setting for current user;
> > 4) Regardless the result step2 and step3, xim will start IM server by current user's language.
> > This xim script is written in 10 years ago, something have changed in these days.
> >
> > *For step3, *
> > It's better to move customer definition to a special file, like ~/.inputmethod or
> > ~/.config/.inputmethod.
> > Because it's hard for a program to change, especially when customer have written complex code flow
> > in ~/.profile .
> > Reference to: Bug 899259 - SLES12-RC3 ibus-setup pop up not working in Chinese, Korean, and Russian
> > Mr Takashi Iwai point out this very clearly.
> >
> > *For step4:*
> > I think it's unnecessary in future.
> > Resons:
> > 1, IM Server & IM Engine are different.
> > A certain kind of IM server, like ibus, fcitx, scim, can supporting many kind of IM Engines.
> > With these engine, people input in different language in the same server.
> > Select IM Server by LANG is meaningless.
> >
> > 2, Default IM server is supposed to put in "/etc/sysconfig/language". it is defined during system
> > installation.
> > User custom IM server is supposed written in "~/.inputmethod" or "~/.config/.inputmethod."
> > No need to be judged every time system start.
> >
> > 4, We will have only 1 IM server installed in future.
> > Reference to: Fate 319095: deprecate fcitx chinese input method in favor of ibus.
> > If customer installed another IM server after installation, then they can active one in custom file.
> >
> > 5, In early times, We have a dead key bug
> > Bug 702064 - Dead keys don't work - https://bugzilla.novell.com/show_bug.cgi?id=702064
> > It's already have fixed patch and don't have reproduced yet, and I have test ibus with many
> > language,
> > So it won't influence.
> >
> > In that way, we don't need to select an IM server for customer by LANG env.
> >
> > *For IM engines:*
> > 1, Users are supposed to select their IM Engine in "All Settings"->"Region & Language".
> > Then System record his selection, active this selection at next time he login gnome.
> > 2, Then how to define user input method for the first time login?
> > I think the answer is "gnome-initial-setup".
> > And there are also some other desktop and service settings need to be collect before customer
> > first login,
> > these settings are hard to guess, Some distribution already have use it, and it's the GNOME
> > suggest method.
> > 3, What I want to say is, gnome-initial-setup, Region_Language, ~/.inputmethod, and
> > /etc/sysconfig/language
> > can serve any people with any input scenario they want.
> >
> > Qiang Zhao
> --
> To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org
> To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org
>
--
To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org
To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org