굳이 이런 짓을 해야할 필요는 없긴 하지만.. 오래된 고질병인 끝글자 행태를 다시 보기가 짜증나서 이런 꼼수까지 생각하게 됐다.
현재 내 환경에서 Fcitx 가 필요한 프로그램은 총 3개다.
- Telegram Desktop – Flatpak/QT6
- Anki Desktop – 직접 설치/QT5
- QMMP – Pacman/QT6
이 중 QMMP 에선 한국어 입력을 할 일이 거의 없으므로 그냥 버려두기로 하면..
예전과 같은 방식으로 특정 프로그램에서만 fcitx5 를, 다른 모든 환경에선 nimf 를 사용하게 할 수 있다.
물론, 이건 지금처럼 이런 특별한 처리를 요하는 프로그램이 적을 때에나 가능한 일이고, 시간이 흘러 QT6 가 대세가 되면 이 짓도 더 이상 할 수는 없게 된다. (그 때는 KIME 을 쓸 수 있으려나)
방법은 예전에 쓴 글 참고.
다만, 저 글에선 언급하지 않은 듯 한데, fcitx 를 매번 실행하게할 필요는 없으므로, /etc/xdg/autostart/org.fcitx.Fcitx5.desktop
를 삭제하거나, 아니면 편집하여 exec 행을 주석처리한다.
이렇게 해도 되긴 하지만, fcitx 판올림 후엔 저 작업을 또 해줘야 한다.
세심한 ArchLinux 는 이런 문제도 예상하여 답을 주고 있으니.. /etc/xdg/autostart/org.fcitx.Fcitx5.desktop 를 ~/.config/autostart/ 로 복사한 뒤, .desktop 파일을 편집하여 Hidden=true 를 추가해주면 된다.
그외, 환경변수 설정도 없애줘야 한다.
Telegram 과 Anki 에서 시험해봤는데, 둘 다 이상없이 잘 된다.
다만, 저 스크립트 대로라면 한가지 문제가 있긴 하다.
만약, 저런 프로그램들이 2개 이상 동시에 실행되고 있다가, 하나를 종료하게 되면 fcitx 도 kill 되어, 나머지 다른 프로그램에서도 fcitx 입력을 쓰지 못하게 된다.
이게 귀찮다면, 그냥 /etc/xdg/autostart/org.fcitx.Fcitx5.desktop fcitx 를 실행되게끔 해둬도 되고..
또는, 스크립트를 좀 더 복잡하게 만들어서 이런 류 프로그램들이 실행 중이라면 fcitx 를 살려두게끔 해둘 수도 있긴 한데.. (굳이 그렇게까지??)