나는 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"