Skip to content

feat: 支持独立配置桌面歌词的翻译、罗马音和逐字歌词 - #2976

Open
lingwateryang wants to merge 2 commits into
lyswhut:devfrom
lingwateryang:feat/independent-desktop-lyrics
Open

lingwateryang wants to merge 2 commits into
lyswhut:devfrom
lingwateryang:feat/independent-desktop-lyrics

Conversation

@lingwateryang

@lingwateryang lingwateryang commented Sep 18, 2026 •

Copy link
Copy Markdown

背景

桌面歌词目前共用播放页的翻译、罗马音、显示顺序和逐字歌词设置,无法同时使用“播放页显示扩展歌词、桌面只显示原文”等组合。

修改内容

  • 新增四个独立的 desktopLyric.* 设置,覆盖翻译、罗马音、两者顺序交换和逐字歌词。
  • 在桌面歌词设置中增加对应开关,复用现有国际化文案及逐字歌词说明。
  • 更新配置类型、主进程配置转发、桌面歌词渲染和设置监听,使这些选项不再读取播放页设置;播放速度继续共用。
  • 仅当新配置不存在时,从原播放设置迁移,保留升级前的桌面歌词显示效果;已有独立配置(包括显式的 false)不会被覆盖。
  • 保留任务栏显示开关、默认值及独立的延迟滚动设置;补充修复 Windows 资源管理器重启后,已隐藏的桌面歌词重新出现在任务栏的问题。

验证

  • npm ci --ignore-scripts --no-audit --no-fund
  • npm run lint:通过。
  • npm run build:主进程、主窗口、桌面歌词及脚本均构建成功。
  • 使用合成歌词运行源码模块断言:播放页开启而桌面关闭、桌面开启而播放页关闭、扩展歌词顺序交换及逐字歌词选择均通过。
  • 配置迁移断言:保留旧 true/false 值、保留已有独立值、不修改输入、重复迁移保持稳定,均通过。
  • git diff --check:通过。

手动复核步骤

  1. 在播放设置中开启翻译、罗马音,在桌面歌词设置中关闭它们;播放带对应歌词的歌曲,确认仅播放页显示扩展歌词。
  2. 反向设置,确认只在桌面显示扩展歌词。
  3. 分别切换两个窗口的逐字歌词选项,确认互不影响。
  4. 在桌面开启翻译和罗马音并交换顺序,确认播放页顺序不变。
  5. 重启后确认两套设置保留;使用未含新字段的旧配置启动,确认迁移保留原桌面显示效果。

本 PR 只提交通用源码,不包含个人配置、日志、截图、安装包、本机路径或凭据。

追加修复:资源管理器重启后恢复隐藏状态

复现

  1. 在 Windows 开启桌面歌词,关闭“在任务栏显示歌词进程”。
  2. 保持桌面歌词开启,在任务管理器重启 Windows 资源管理器。
  3. 修复前:桌面歌词可能重新成为任务栏中的独立窗口。

实现

  • 仅在 Windows 且关闭任务栏显示时,使用 type: 'toolbar' 创建歌词窗口,让窗口具备工具窗口属性,而不只依赖当前任务栏的 setSkipTaskbar 状态。
  • Windows 下切换任务栏显示开关时重建歌词窗口;非 Windows 保留原 setSkipTaskbar 行为。
  • closed 回调只清理它所属的窗口引用,避免旧窗口延迟关闭时清空新窗口引用。

验证

  • 修复后的源码全量 npm run lint 和 npm run build 均通过。
  • 对应本机补丁实际连续切换任务栏显示开关四次,窗口类型随设置切换,无残留歌词窗口。
  • 对应本机补丁在桌面歌词开启时实际重启 Windows 资源管理器:任务栏重启前后均仅有一个运行窗口,桌面歌词仍可见且保持工具窗口属性。
  • 开关测试后恢复原设置,验证结束关闭临时调试端口。

追加提交仍只包含通用源码,不上传本机补丁脚本、配置、截图、路径或凭据。

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