背景
macOS 27 Golden Gate(2026-06 WWDC 发布 beta)把整个菜单栏改成了一个窗口渲染,每个状态项不再是独立的小窗口。同时系统自带了一个"展开/收起"溢出按钮。Ice、Thaw、Bartender、Barbee、BetterTouchTool 的菜单栏管理在 27 上同时失效。
对 CoffeeBar 的影响
当前实现依赖三件建立在"每个图标是一个窗口"上的机制,预计在 27 上全部失效:
- 枚举图标窗口:
CGWindowListCopyWindowInfo 过滤 status 层窗口(MenuBarScanner)。
- 分隔符撑宽隐藏:
NSStatusItem.length = 10000 把左侧图标挤出屏幕(MenuBarController)。
- 合成 ⌘ 拖拽挪单个图标:往事件里写窗口 ID 字段路由拖拽(
ItemMover,来自 Ice 的做法)。
辅助功能索引(AccessibilityIndex,按 AXExtrasMenuBar 枚举)可能仍然可用,需要验证。
其它项目的应对
待办
相关
背景
macOS 27 Golden Gate(2026-06 WWDC 发布 beta)把整个菜单栏改成了一个窗口渲染,每个状态项不再是独立的小窗口。同时系统自带了一个"展开/收起"溢出按钮。Ice、Thaw、Bartender、Barbee、BetterTouchTool 的菜单栏管理在 27 上同时失效。
对 CoffeeBar 的影响
当前实现依赖三件建立在"每个图标是一个窗口"上的机制,预计在 27 上全部失效:
CGWindowListCopyWindowInfo过滤 status 层窗口(MenuBarScanner)。NSStatusItem.length = 10000把左侧图标挤出屏幕(MenuBarController)。ItemMover,来自 Ice 的做法)。辅助功能索引(
AccessibilityIndex,按AXExtrasMenuBar枚举)可能仍然可用,需要验证。其它项目的应对
待办
相关