-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
问题描述
在多屏幕环境下,非活跃屏幕的菜单栏会为 FlowX 歌词预留位置,但歌词内容不会实时刷新;只有活跃屏幕显示是更新的。
复现步骤
- macOS 连接两个及以上显示器,并启用“显示器具有单独的空间”。
- 启动 FlowX 并开始播放 Apple Music。
- 观察主屏与非活跃屏幕的菜单栏歌词区域。
实际结果
- 非活跃屏幕的菜单栏位置被占用。
- 该屏幕歌词不刷新或刷新明显滞后。
期望结果
- 所有显示器菜单栏中的 FlowX 文本都同步刷新,行为一致。
代码排查线索
我检查代码后,问题大概率存在,目前实现只维护了一个自定义歌词视图:
- 仅创建一个
MenuBarLyricsView并添加到lyricsItem.button(FlowX/FlowXApp.swift:56、FlowX/FlowXApp.swift:60)。 - 所有刷新逻辑都只驱动这一实例(例如
FlowX/FlowXApp.swift:62、FlowX/FlowXApp.swift:85、FlowX/FlowXApp.swift:200)。 - 未看到针对多屏菜单栏副本的单独更新路径或屏幕参数变化处理。
建议方向
- 评估
NSStatusItem+ 自定义NSView在多菜单栏副本下的刷新限制。 - 尽量改用
button.title/attributedTitle或 image+attributed string 等系统可复制的渲染路径。 - 若继续自定义视图,考虑为每个菜单栏副本维护可更新实例,或在屏幕/活动空间切换时强制重建。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels