Skip to content

fix(status-bar): 修复非激活桌面上百分比文字不变暗的问题 - #38

Merged
Licoy merged 1 commit into
Licoy:mainfrom
catouse:dev/status-bar-native-text
Sep 27, 2026
Merged

Licoy merged 1 commit into
Licoy:mainfrom
catouse:dev/status-bar-native-text

Conversation

@catouse

@catouse catouse commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

问题

在多显示器环境中,切换到另一块屏幕后,非激活屏幕上的菜单栏图标会变暗,但 CodexRunway 的百分比文字仍保持高亮,外观与周围状态项不一致。

原实现将自定义 StatusBarContentView 叠加在状态栏按钮上,并使用 NSColor.labelColor 自行绘制百分比,没有接入原生状态栏按钮的非激活态渲染。

修改

  • 百分比样式改用 NSStatusBarButton.title,由 AppKit 处理文字颜色和菜单栏状态。
  • 保留 14pt semibold 字体、单配额/多配额百分比以及无数据时的 -- 占位,宽度交由原生按钮自动计算。
  • 百分比样式隐藏自绘视图;切换到倒计时、电池、进度条或圆环时清空原生标题,恢复对应的自绘内容。
  • 删除原来的百分比自绘代码,补充内容更新、重复更新及样式往返切换的回归测试。

验证

  • swift test --filter StatusBar:19 项测试通过。

  • swift run CodexRunway --self-check:执行成功。

  • arm64 Release 构建成功;应用和 Widget 的包结构、ad-hoc 签名校验通过。

  • 全量测试另有一项控制面板宽度断言失败:ControlPanelTabBarTests.swift:50,实际为 552,预期为 546;单独运行也可复现,该测试未执行本次修改的状态栏逻辑。

  • 多显示器切换激活屏幕后的实机截图待补充。

效果对比

修复前

非激活屏幕上的其他菜单栏图标已经变暗,百分比文字仍保持高亮。

file-dae723fff8a886d516fbba7347e57b51

修复后(待补实拍)

预期:切换到另一块屏幕后,百分比文字随原生菜单栏一起变暗;回到该屏幕后恢复正常亮度。

image

@Licoy
Licoy merged commit 1b80be7 into Licoy:main Sep 27, 2026
3 checks passed
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.

2 participants