Skip to content

任务栏歌词未跟随自动隐藏任务栏的展开/收起动画 #456

Closed

Description

@OMSociety

检查清单

  • 我已检索仓库中所有的 Issues,确保我没有重复提交问题;或有相似 Issue,但我觉得我的情况不包含在那个相似 Issue 之内(已检索「任务栏」「自动隐藏」「autohide」相关 Issue,未见同类报告)
  • 我已经找到了可以复现这个问题的方法,并且写在了下面的「具体信息」中
  • 此问题可以在我的设备和当前环境中稳定复现
  • 此问题可以在最新版本 (Latest Release) 中复现
  • 此问题是在我更新到当前版本后才出现的(任务栏歌词引入以来一直存在)

环境信息

  • 版本:v1.2.1(Latest Release)
  • OS:Windows_NT x64 10.0.26300(Windows 11 26H2,UBR 9550)
  • 屏幕:2048 × 1152,100% 缩放

具体信息

1. 复现步骤

  1. Windows 设置 → 个性化 → 任务栏 → 任务栏行为 → 勾选「自动隐藏任务栏」
  2. 播放任意一首歌曲,开启「任务栏歌词」
  3. 鼠标移到屏幕底缘(任务栏滑出),再移开(任务栏滑回),观察歌词窗口与任务栏动画的同步关系

与歌曲、歌词来源无关,任意歌曲均可稳定复现。

2. 实际行为

任务栏展开/收起带有约 190–400 ms 的滑动动画,但歌词窗口不跟随动画,只在动画结束后跳变一次:

  • 展开时:鼠标移到底缘,任务栏开始向上滑出,整个动画期间歌词窗口不可见;动画结束后约 100 ms,歌词才突然出现在任务栏上("展开完后突然显示")。
  • 收起时:鼠标移开,任务栏开始向下滑走,整个动画期间歌词窗口停留在原位、悬浮在正在滑走的任务栏上方;动画结束后约 110 ms,歌词才突然消失("收进后才消失")。

3. 预期行为

歌词窗口应跟随任务栏一起滑动:任务栏滑出时歌词随之从屏幕外滑入,任务栏滑回时歌词随之滑出屏幕,动画期间位置逐帧同步,不出现"先有一段没有歌词的任务栏 / 先有一段悬空的歌词"。

4. 问题定位(附实测数据)

在本机用 SetCursorPos 模拟鼠标进出底缘,逐帧采样 GetWindowRect(Shell_TrayWnd) 与歌词窗口(类名 Chrome_WidgetWin_1,标题 Taskbar Lyric)矩形:

阶段 任务栏矩形(T=top) 歌词窗口矩形(T=top)
展开前(隐藏态) T=1150 B=1198(屏幕高 1152,仅 2 px 在屏幕内) T=1150
展开动画(约 190 ms / 6 帧) 逐帧变化:1150 → 1133 → 1126 → 1118 → 1107 → 1104 全程停在 T=1150 不动
展开完成后 T=1104 B=1152 约 100 ms 后才跳到 T=1104
收起动画(约 400 ms / 11 帧) 逐帧变化:1107 → 1110 → 1118 → 1122 → 1129 → 1133 → 1136 → 1146 → 1150 全程停在 T=1104 不动
收起完成后 T=1150 B=1198 约 110 ms 后才跳到 T=1150

同时用对照实验排除了事件丢失:对 EVENT_OBJECT_LOCATIONCHANGE 分别挂线程级(任务栏线程)与进程级 hook,两者收到的事件数量完全一致(均 110 次,全部来自任务栏线程),说明 tray_watcher.rs 的 WinEvent 监听能收到动画的每一帧。

根因在消费链路:native/taskbar-lyric/src/strategy/win11.rs 的 update_layout 每次 Update 都执行 UIA 扫描(TaskbarScanner::scan_taskbar 遍历任务栏 XAML 树),动画期间扫描耗时超过帧间隔或因树不稳定失败(走 0/50/150/300/600 ms 重试),动画帧被"吞掉",只有动画结束后的某次成功扫描才 emit 布局;而 electron/main/window/taskbarLyric.ts 的 applyLayout 仅按矩形宽高判断是否显示,没有针对任务栏部分可见(自动隐藏滑动中)的状态处理,于是歌词窗口在整段动画期间保持上一帧位置,动画结束后才跳到最终位置。

Activity

  1. github-actions commented on Nov 7, 2026

    @github-actions

    👋 @OMSociety

    感谢提交 Issue!我们已经收到您的反馈,会尽快确认您的问题。

    Thanks for opening this issue! We have received your report and will review it as soon as possible.

  2. changed the title [-]任务栏歌词与自动隐藏任务栏的展开/收起动画不同步[/-] [+]任务栏歌词未跟随自动隐藏任务栏的展开/收起动画[/+] on Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions