是什么原因造成 fcitx5 输入法候选框会跟随光标跳动

Arch Linux、 Obsidian v1.11.4、Wayland

用 fcitx5 在 obsidian 编辑器输入中文。

KDE Plasma

候选框会跟随光标跳动,非常影响输入体验:

GNOME

候选框固定在起始位置,不随输入发生改变,预期的行为:

问题

我想知道是什么原因造成了这个问题,为什么这两种桌面环境会有不同的表现,GNOME 做了什么使它表现正常。

我该如何解决这个问题?我最终要在 niri 中使用 Obsidian。

在输入法设置里选中「将嵌入预编辑文本的光标固定在开头」选项。
另外「跳动」是什么意思?是「跳动」的意思吗?这个选项应该只影响是否在预编辑字符串后边跟着水平移动。

大概测试了一下,在 Plasma Wayland 下,如果使用 Chromium/Electron 的 text-input v3 实现,无论是否开启 fcitx5 拼音中“将嵌入式预编辑文本的光标固定在开头”的选项,候选框都会紧跟在光标后面,也就是一边打字候选框一边往后退。

而如果使用其 text-input v1 实现,即在 ~/.config/chromium-flags.conf(或 electron-flags.conf ,假设应用使用系统 electron)中加入 --wayland-text-input-version=1,则“将嵌入式预编辑文本的光标固定在开头”的选项可以正常生效,如图:

对,是这个意思

诶,Chromium还有这种问题的吗?我这里不能复现呢。光标是一直在预编辑字符串开头没有移动。

我这个选项一直是开着的

Screenshot from 2026-01-17 15-58-19


Screenshot from 2026-01-17 16-03-21

我这两个文件都加入了这个选项,似乎没有效果。请问你这张图里的是什么程序?

确实很奇怪,不知道是 kwin 还是 chromium 的 text-input v3 实现有问题。不过我试了一下 gtk3 程序应该是没这个问题的

我刚才的截图中就是 chromium 。如果你使用的是 https://aur.archlinux.org/packages/obsidian-bin ,根据它的 wrapper script 实现

你需要修改的是 obsidian-flags.conf 。如果它的 electron 版本比较旧,可能还需要这些

--ozone-platform=wayland
--enable-wayland-ime
--wayland-text-input-version=1
1 Like

添加这个选项后,在 KDE Plasma 成功修复了这个问题。

但在 niri 中无法在 Obsidian 中使用 fcitx5 了(Ctrl + Space 没有任何反应)

总之感谢解答这个问题。

niri 支持的大部分 wayland 协议应该都是由 smithay 实现的,而后者不支持 text-input v1 ,只有 v3 ,用不了是正常

不过你可以尝试下不加这个参数,看看在 niri 下实际的表现是什么样的

niri 中,Obsidian 不加参数,能打字,不过光标会不断变动,和最初 KDE Plasma 的表现一样

1 Like

gnome 和 kde 用的什么字体 , fcitx5 用的哪个皮肤

字体: LXGW WenKai Screen
皮肤:plasma

1 Like