
问题: 在最新的 macOS 系统设置已不支持配置全局使用同一个 InputConnection ("Use one input source in all documents" Deprecated ),故部分用户需要 squirrel 实现前端记录全局的 ascii_mode 以实现在任意应用任意输入框中有可预期的 ascii 模式输入体验。
相关问题:
解决方案: 在了解整体问题上下文后,决定通过以下方式实现
在 squirrel.yaml 配置文件中增加 global_ascii: bool 字段用于控制是否全局记录 ascii_mode ,其默认值为 false 当 global_ascii 为 true 时 squirrel 会使用 UserDefaults.standard 记录以 _user_global_ascii_mode 为 key 记录 ascii_mode 并在每次创建新的(或重新激活旧的) InputConnection 时读取并以此设置的值为 ascii_mode 最高优先级 可遇见的问题: 使用该功能后可能会导致忽略用户配置的 app_options.ascii_mode 字段失效(编者是能接受在明确启用全局 ascii_mode 模式后应该以全局配置项为准的配置优先级的,如果有更好的实现方式或想法欢迎留言一起讨论实现,我愿意为推进此功能持续工作)
注: 作为一个 workaround 方案提交的 PR #1054 并没有被上游接受(叠甲,不是抱怨。我也认同上游共享实例观点可以继续推进)只是当前实现方式在完美方案实现之前的一个替代实现方案以及能够满足我系统 全局记录 中/英 切换模式的需求了。 有同样需求的小伙伴此阶段可以试试我的 fork 版本 https://github.com/PBK-B/squirrel 由于自己有需求所以会持续同步并已经配置 CI 自动构建发布版本,下载地址 https://github.com/PBK-B/squirrel/releases
如果有帮助到你可以评论一下呀(鼓励我继续尝试推进上游提出的共享实例。咕咕咕咕~),完结撒花
1 kur0d3s 3 小时 37 分钟前 via iPhone Mark ,空了学习下。感谢分享:) |