兑现承诺,已经把 OpenAI Translator 中的全平台的全局取词逻辑独立出一个 Rust 库 get-selected-text 并开源!
在 macOS 平台下的实现方式如下:
- 优先使用 A11y API 来获取选中的文本
- 如果使用 A11y API 获取不了选中文本,则 fallback 到通过模拟按下 cmd+c 快捷键来借助剪切板获取选中文本
- 为了防止在未选中任何文本的时候按下 cmd+c 会发出恼人的嘣嘣警告声,在模拟按下 cmd+c 之前会临时静音 alert 声,cmd+c 释放后恢复 alert 音量
所以我觉得这是目前可以开箱即用的比较完美的全局取词库了
https://t.co/ajfhwf2Qvv