fcitxのIMの設定順序をコマンドラインから変更するには
はじめに
fcitxのIMを変更するのには、fcitx-configtoolを使います。
IMが複数あっても、キーを割り当てて切り替えられるという塩梅です。 キーボードのレイアウトが変わらないならそれであんまり困りません。
ただ、レイアウトの異なる外部キーボードをつないだりはずしたりというのが頻繁にあると、とたんに面倒になってきます。(直接入力はキーボードレイアウトを合わせておかないといけないため。もしかしたらいい方法があるのかもしれないがわかっていない。)
fcitx-remoteは?
fcitx-remoteというコマンドがあります。これには -s
オプションがあって、指定したIMに直接切り替えることができます。
しかし、直接入力をこのレイアウトにというのはできません。
そこでfcitx-imlistを作りました
ようするにfcitx-configtoolがやっていることをコマンドラインから実現できればいいわけです。
そのためには、fcitx_input_method_get_imlist
や fcitx_input_method_set_imlist
を呼んであげるといいことがわかりました。
というわけで、そのためのコマンドを作ってみました。 (世の中にそういうのすでにあるような気もするけど調べていない。)
それが、fcitx-imlistというわけです。 オプションを指定してあげると切り替えられるというようにしました。
% fcitx-imlist -s fcitx-keyboard-us,mozc
上記は、直接入力は英語キーボードで、日本語入力はmozcにするための設定方法です。 直接入力は日本語キーボードで、日本語入力はmozcに戻すためには次のようにします。
% fcitx-imlist -s fcitx-keyboard-jp,mozc
オプションに指定するインプットメソッドのリストは -l
オプションで取得できます。
日本語キーボードとmozcと英語キーボードの設定があると次のように表示されます。
% fcitx-imlist -l fcitx-keyboard-jp (キーボード - 日本語) [enabled] mozc (Mozc) [enabled] fcitx-keyboard-us (キーボード - 英語 (US)) [enabled]