On Thu, 16 Jul 2015 15:51:27 +0200, Marguerite Su wrote:
On Thu, Jul 16, 2015 at 9:26 PM, Fuminobu TAKEYAMA
wrote: 0. Is there any way in shell script, that allows us to dynamically change input method framework without restart?
GTK and Qt applications can switch its IM. But I think there is no way to do from shell script.
If we implement GTK IM module/Qt IM module/xim proxy, it could do that.
our current discussion focus on to replace xim method w/ chameleon-tongue, and the most critical mission for all such technology is to properly set:
export LC_CTYPE=$LANG export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE=fcitx export GTK3_IM_MODULE=fcitx export QT_IM_SWITCHER=imsw-multi export QT_IM_MODULE=fcitx export QT4_IM_MODULE=fcitx
to make input method framework take over users' input.
I thought GTK3_* and QT4_* are superfluous nowadays as Gtk3 and Qt4 look at GTK_* and QT_* variables as well?
and all such applications/ways can only set input method globally once at system boot (I might be wrong about this).
Not at boot, but at each X session / login.
after Xorg was started, there's no way to swich input method frameworks. My question is, is there such thing like:
export FCITX_ENV=`/usr/lib/inputmethod/scripts/check_if_fcitx_is_running_and_prefered.sh` export GTK_IM_MODULE=$FCITX_ENV
works. So when an application is started, it'll actually fetch GTK_IM_MODULE by running a script, which can check process of input method framework and /etc/sysconfig/inputmethod or something to find user preference. So you can switch from fcitx to ibus without the need to restart/logout.
I guess a wrapper like #!/bin/sh . /usr/lib/input-method/profile.d/auto/env exec "$@" would work. But it's doubtful whether such a dynamic switch is really demanded. Even with this mechanism, an application needs to be restart in anyway. If a DE has some session management, it can restart itself and restores the session after refreshing the IM-related environment variables.
Or we have to write an special im module named "imfd" or something to dynamically set and load input method frameworks?
BTW, I think along with shell scripts, ruby is also a good alternative, because every openSUSE installation have YaST and ruby :-)
Yes, but I don't think there won't be so complicated even in bash. Let's see. Takashi -- To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org