跳转到主要内容
跳到正文
返回

PROJECT DOSSIER

Initials · 按字母切换应用

独立设计与开发·2026·原生 macOS 应用
SwiftAppKitCGEventTapCLI
Initials · 按字母切换应用

问题与取舍

我原先在 Hammerspoon 中使用按字母切换应用的脚本。把它独立成 Initials,是为了让这一项能力有自己的安装包、权限提示和设置入口,使用者不必先部署整套自动化环境。

范围保持明确:它负责打开、切换和隐藏应用,以及用字母面板提示映射;不尝试替代所有启动器或窗口管理器。

实现

  • 纯状态机处理按键:事件回调只做是否放行、拦截或产生动作的判断,应用启动与切换在回调之外执行。
  • 左右 ⌘ 分开配置:每侧独立控制按住与双击。左侧只接管明确指定的字母;如果映射与常见快捷键重叠,设置窗会提示。
  • 不抢焦点的面板:双击后显示字母面板,按 Esc 或等待超时退出;普通组合键、长按和夹杂鼠标操作不会误算为双击。
  • 一个配置源:图形界面与 initials CLI 共用配置和规则,支持导入已有的 Hammerspoon rcmd 映射。

如何验证

公开源码包含按键状态机、动作选择、配置与导入的测试。构建脚本先运行测试再编译。界面截图由应用的离屏渲染模式生成,演示使用示例应用配置。

在自己的 Mac 上,可先给一个字母指定应用,再分别验证启动、切换和隐藏;随后检查左右 ⌘ 设置、面板取消和已有快捷键的行为。

当前可用范围

  • macOS 14 及以上,Apple Silicon;中英文界面。
  • 安装包使用 Developer ID 签名并通过 Apple 公证。
  • 需要辅助功能权限;应用不记录或保存输入内容。
  • 源码采用 MIT 许可,当前提供免费下载。

查看官网、安装步骤和视频 · 下载发行包