Как использовать японский метод ввода fcitx5 для программ с графическим интерфейсом (acme, sam, 9term...) Plan 9 из пользовательского пространства (plan9port)?

Я использую i3wm.

Я уже объявил три переменные среды, как показано ниже:

      $ export -p | grep fcitx
declare -x GTK_IM_MODULE="fcitx"
declare -x QT_IM_MODULE="fcitx"
declare -x XMODIFIERS="@im=fcitx"
$

Руководства plan9port мне не помогли. Когда я вызываю9 acme,9 sam,9 9term, они не позволяют мне изменить режим ввода на японский.

1 ответ

Итак, прежде всего, давайте посмотрим, как это реализовано. Приложение plan9port основано на прокладке соответствующего API. Фактическое перемещение окон осуществляется с помощью библиотеки libdraw, которая вообще не имеет понятия метода ввода.

devdraw — это процесс, который напрямую взаимодействует с X11. А поскольку он использует Xlib, мы можем просто проверить, есть ли в нем какая-либо ссылка на API метода ввода Xlib (точка входа — XOpenIM1).

Хотя мы не находим никаких следов в текущем коде, появляется несвязанный запрос на включение 2 .

Кратко прочитав его, он пытается включить метод ввода в devdraw, что является хорошим способом его поддержки, пока интерфейс commit_string между devdraw и приложением может быть смоделирован нажатием клавиши, и из кода кажется, что это так (gfx_keystroke).

Попробовал этот запрос на извлечение на Arch, кажется, все еще работает. fcixt5 с plan9 в данной ветке. Всплывающее окно не окажется в ожидаемом месте.

Другие вопросы по тегам