
TRIPandsim
b68a5901c3
feat(selection-polish): Linux 支持——fcitx5 插件热键路由 + PRIMARY 选区校验 (#927)
* feat(selection-polish): Linux 支持——fcitx5 插件热键路由 + PRIMARY 选区校验
- linux_fcitx.rs:新增 SetSelectionPolishHotkeyRaw DBus 方法 + sync_selection_polish_binding;
start_dictation_signal_listener 增加 selection_polish_trigger 参数,监听
SelectionPolishEvent 信号 → HotkeyEvent::SelectionPolishShortcutPressed,
初始同步与 fcitx5 重启重同步均含选区润色触发键
- hotkey.rs Linux adapter:update_modifier_shortcuts 转发 selection_polish_trigger
(移除 disabled on Linux 注释)
- hotkey_loops.rs:Linux 启动 fcitx5 监听时传入 selection_polish_trigger
- selection.rs Linux 分支:is_captured = PRIMARY 读到选区即可;validate 重读
PRIMARY 与捕获文本比较(用户改选/清空即拒绝粘贴);selection_text_matches
cfg 覆盖 linux
- fcitx5 插件 openless.cpp:新增 SelectionPolishEvent 信号 +
SetSelectionPolishHotkeyRaw 方法(INI 持久化 SelectionPolishRawSym/States),
按键分发仿 QA 模式;需重装插件(scripts/inject-fcitx5-plugin.sh)生效
- 注:Linux 代码由 Linux CI 验证编译;fcitx 插件 .so 需 Linux 环境重编译安装
* fix(selection-polish): 补传 selection_polish_trigger 到 fcitx 监听器(第二个调用点)
coordinator.rs 的 hotkey 安装路径调 start_dictation_signal_listener 时漏传
selection_polish_trigger(签名 7 参数只传 6 个),Linux CI E0061。hotkey_loops.rs
已传,此处遗漏导致 Linux 编译失败。
---------
Co-authored-by: sim <sim@local>