Skip to content

窗口选择器升级(缩略图/真 MRU/标签页切换修复)+ 飞书 OK 组合键放行 - #7

Open
JiansheFengRe wants to merge 1 commit into
godarrenw:mainfrom
JiansheFengRe:fix/lark-ok-combo
Open

窗口选择器升级(缩略图/真 MRU/标签页切换修复)+ 飞书 OK 组合键放行#7
JiansheFengRe wants to merge 1 commit into
godarrenw:mainfrom
JiansheFengRe:fix/lark-ok-combo

Conversation

@JiansheFengRe

Copy link
Copy Markdown

变更概要

窗口选择器(菜单键)

  • 修复:同 App 多窗口切不过去。原按标题匹配 AX 窗口,标题相同/为空时命中错窗;改为按 CGWindowID 定位(_AXUIElementGetWindow),标题仅兜底;前置前取消最小化并设主窗口/焦点。
  • 修复:原生标签页(Ghostty 等)不在 AX 窗口列表里,按 ID 永远找不到。AX 找不到时按标题按下 AXTabGroup 的标签按钮,同名逐个按并用焦点窗口 ID 核对;AX 完全不可见(其他 Space)时用 SkyLight 按窗口 ID 置前兜底(SkyLightFocus,dlsym 动态解析,符号缺失即跳过)。
  • 新增:窗口缩略图(ScreenCaptureKit SCScreenshotManager,按 windowID 缓存,异步逐张刷新;需屏幕录制权限,无权限退回 App 图标)。
  • 新增:窗口级 MRU(WindowMRU,AXObserver 监听焦点/主窗口变化);选择器按 App 分组、App 间按最近使用排,默认选中「上一个用过的窗口」一按 OK 即回切。window_cycle global 同样按 MRU。
  • 幽灵窗口(已关闭标签残留的 NSWindow)按标签配额过滤。

其他(8/3 提交)

  • 基础态放行 per-app 显式声明的 OK 短按(飞书 ⌘+Enter 发送)
  • 飞书聊天与会议合并为一个预设,TV 键归还控制模式
  • 切到有专属基础键义的 App 时闪提示条
  • 修复正式签名打包路径上的三个阻塞问题;补 CLAUDE.md

验证

  • --self-test 全绿(新增 12 条:MRU 排序/分组/默认选中、幽灵过滤、缩略图新鲜度、SkyLight 符号)
  • 实机:Ghostty 一窗三标签(含两个同名)逐个切换命中;缩略图出图;macOS 26.6 / M4

🤖 Generated with Claude Code

- WindowSwitcher 改按 CGWindowID 定位 AX 窗口(_AXUIElementGetWindow),标题仅兜底;
  前置前取消最小化并设主窗口/焦点
- 原生标签页不在 AX 窗口列表(Ghostty 实测):按标题按 AXTabButton,同名逐个按并核对
  焦点窗口 ID;AX 完全不可见时 SkyLightFocus 按窗口 ID 置前兜底(dlsym 动态解析)
- 选择器按标签配额过滤已关闭标签残留的幽灵窗口
- 新增 WindowMRU:AXObserver 监听焦点/主窗口变化维护窗口级 MRU;选择器按 App 分组、
  App 间按最近使用排,默认选中「上一个用过的窗口」
- 新增 WindowThumbnailCache:ScreenCaptureKit 异步抓缩略图,按 windowID 缓存
- 自测新增 12 条

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant