Skip to content

About

🟢 Claude Code 停下时终端变浅绿色遮罩,点击恢复 - macOS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

🟢 CC Overlay

Claude Code 停下时,终端窗口自动罩一层浅绿色透明遮罩,点一下即恢复。不再错过 claude 等你确认 / 下指令的时刻。

为什么

用 Claude Code 时经常开好几个 tab 同时跑。某个 tab 的 claude 跑完停下来等权限确认或下一条指令,你却在看别的窗口——等想起来切回去,它都停了好几分钟了。一天下来光等它就浪费不少时间。

CC Overlay 让终端在 claude 停下时直接变绿,想忽略都难。

效果

  • Claude 停下(回合结束 / 权限确认 / 60s idle)→ 终端窗口罩浅绿色半透明遮罩 + 一声「叮」
  • 点击遮罩任意位置 → 恢复(或直接发下一条消息,自动关闭)
  • 遮罩跟随终端窗口移动,只盖终端,不影响其他窗口
  • 绝不抢焦点:不置顶、不切 tab、不激活 Terminal、不弹系统通知——你在别的窗口打字完全不被打断,切回终端看到一片绿就知道 cc 等你了

安装(一键 dmg)

  1. 下载最新 Release 里的 CC-Overlay-1.0.0.dmg
  2. 打开 dmg,把 CC Overlay.app 拖到「应用程序」
  3. 右键 → 打开(首次需右键打开,应用未签名)
  4. 点「安装」按钮 → 完成

安装器自动:部署 hook 脚本到 ~/.claude/hooks/ + 合并 ~/.claude/settings.json 的 hooks 配置(自动备份,幂等可重复安装)。

仅适配 macOS Apple Terminal.app(中文 / 英文系统均可)。需 Claude Code CLI。

卸载

打开 CC Overlay.app → 点「卸载」。或手动删 ~/.claude/hooks/cc-overlay*、cc-focus.sh,并从 settings.json 移除 hooks。

可调参数

编辑 ~/.claude/hooks/cc-focus.sh 末尾 nohup "$OVERLAY_BIN" 行,追加参数:

参数 作用 默认
--alpha 0.22 透明度 0~1 0.22
--rgb 0.30,0.95,0.40 绿色 RGB 浅绿
--sound Ping 提示音(系统音效名) Ping
--no-sound 静音 —
--label "文字" 顶部提示文字 Claude Code 已停下 · 点击任意处恢复
--no-label 不显示文字 —

macOS 系统音效可选:Glass / Ping / Tink / Bell / Hero / Pop / Submarine …

原理

  • cc-overlay(Swift/Cocoa):首次显示时绑定触发的那个 Terminal 窗口的 windowID,之后只跟随它;绑定窗口不在最前时自动隐藏(既不穿透到别的窗口,也不跟其他 Terminal 窗口跑),切回该窗口 0.3s 内恢复 → 点击 NSApp.terminate 退出
  • cc-focus.sh(Stop/Notification hook):沿父进程链找 claude 的 tty → AppleScript 查该 tty 所在 Terminal 窗口的 bounds(只读,不抢焦点)→ 传给遮罩 --bind-bounds,遮罩据此绑定正确的 windowID
  • cc-overlay-stop.sh(UserPromptSubmit hook):发消息时关遮罩(兜底,主路径是点击关闭)

关键坑:中文系统下 Terminal.app 窗口 owner 名是「终端」而非 Terminal,代码匹配 ["Terminal", "终端", "iTerm2", "iTerm"]。

开发

git clone https://github.com/CGIFM/cc-overlay.git
cd cc-overlay
./build.sh        # 产出 build/CC Overlay.app + build/CC-Overlay-1.0.0.dmg

需要 Xcode Command Line Tools(swiftc)。

目录

src/cc-overlay.swift               遮罩程序源码
installer/CCOverlayInstaller.swift GUI 安装器源码(安装/卸载/合并 settings)
installer/Info.plist               .app 配置
hooks/cc-focus.sh                  Stop / Notification hook
hooks/cc-overlay-stop.sh           UserPromptSubmit hook
build.sh                           编译打包脚本

License

MIT

About

🟢 Claude Code 停下时终端变浅绿色遮罩,点击恢复 - macOS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages