Translations:FAQ/80/zh-hans

From Fcitx
Jump to navigation Jump to search

为了使输入法可以与“当前”可用且广泛采用的技术一起使用,Fcitx 5 实现了一种称为“客户端输入面板”的机制,基本逻辑是要求客户端应用程序绘制输入窗口界面。这是通过 gtk/Qt 的 dbus 和 IM 模块来完成的。该实现需要使用底层 wayland 协议 xdg_popup 来显示窗口。不幸的是,只有新版本的 xdg_popup 协议支持“移动”可见的弹出窗口,而这部分在 Gtk3 和 Qt5 中并“没有”实现。更糟糕的是,Gtk3 和 Qt5 都将停止开发了(end of life, 缩写EOL),这意味着在 Gtk3/Qt5 中将不可能获得这种新的协议支持。问题是输入法可能需要在调整大小和移动非常频繁的窗口上显示。为了缓解这个问题,Fcitx 5 IM 模块实现了一个 hack,当我们需要移动窗口时,它会先隐藏窗口,然后再显示窗口。不幸的是,这会导致一定程度的闪烁。这种hack可能会导致在某些硬件和合成器组合中看起来非常糟糕。