fcitx 現在の入力方法の問合せ [xmobar の場合]

fcitx 現在の入力方法の問合せ [xmobar の場合]

私はxmonad / xmobar設定を含む私の新しいコンピュータ(Lenovo X270)でうまく動作するように新しいDebian(Stretch)のインストールに取り組んでいます。私は日本語を学んでいるので、入力方法を設定したかったのですが、fcitx / fcitx-mozcを使って実行できました。しかし、xmobar設定に現在の入力方法(fcitxによる)が日本語であるかどうかを示すプラグインを含めたいと思います。 Kbdプラグインは、fcitxが(私が知っている限り)XKBと直接対話しないため、これを実行しないように見えるため、「us」と表示されます。また、端末で現在fcitx IMを照会する方法が見つかりません。これを行う方法はありますか(可能なようにxmobarインジケータを組み合わせることもできます)、それとも価値があるよりも多くの問題がありますか?

[参考にibus設定をしようとすると問題が発生し、fcitxに切り替えました。 ]

必要に応じて、私の設定に関する詳細をお知らせします。

答え1

qdbusヒント:たとえば、コンソールツールを使用してDBusに問い合わせることができます。

$ qdbus "org.fcitx.Fcitx" "/inputmethod" "GetCurrentIM"

別の方法はxkb - スイッチ:xkb-switch -p

答え2

これがxmobarに役立つかどうかはわかりませんが、モニター出力を介してCurrentIMプロパティの変更を追跡できます。

gdbus monitor -e -d org.fcitx.Fcitx

残念ながら、これは私たちに新しい価値を教えていないようです。

/inputmethod: org.freedesktop.DBus.Properties.PropertiesChanged ('org.fcitx.Fcitx.InputMethod', @a{sv} {}, ['CurrentIM'])

ただし、このような行が表示されるたびに、許可された回答でqdbusコマンドを使用するか、gdbusを使用して次のように状態を照会できます。

gdbus call -e -d org.fcitx.Fcitx -o "/inputmethod" -m "org.fcitx.Fcitx.InputMethod.GetCurrentIM"

関連情報