私は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"