edit | blame | history | raw

2026-06-24 主题系统

用户目标

  • 在 8.0.0 实验分支上实现 App Grid 新版主题系统。
  • 默认保留原浅色毛玻璃;新增深蓝、黑色、粉色、紫色、绿色、蓝色、炫彩等高级渐变背景主题。
  • 主题切换只改 UI,不改标签、拖拽、排序、搜索、数据、SmartStart 等功能语义。
  • 设置页新增独立“主题”页签,文案覆盖 29 个语种。
  • 本轮先交付体验包,不作为正式冻结或 App Store 上传包。

当前起点

  • 工作目录:/Users/ar/Projects/Taglauncher/.codex-worktrees/dark-glass-8.0.0
  • 分支:codex/dark-glass-8.0.0
  • 基线:v7.9.4-build20260619.2221
  • 当前预览构建版本:8.0.0 (20260624.1506)

关键决策

  • 8.0.0 先做“8 个高级渐变背景主题 + 自动玻璃适配”。
  • 不做容器玻璃深浅独立开关,降低设置复杂度和 QA 面。
  • 主题只影响 App Grid 全屏背景渐变;单个容器不做独立渐变,继续使用统一半透明玻璃面板。
  • 默认主题使用原浅色玻璃;深蓝和黑色使用深色玻璃容器;粉色、紫色、绿色、蓝色、炫彩使用浅色玻璃容器,避免亮色主题被压成暗黑系。
  • useDarkAppGrid=true 用户升级后迁移为 deepBlue 主题。
  • 当前 DMG 以 theme-preview 命名,不视为正式冻结发布包。

已完成事项

  • 新增 AppGridTheme 主题模型,包含 8 个主题、背景渐变 token、预览色、标题 key 和玻璃适配策略。
  • ContentView 接入主题背景渲染。
  • AppGridCollectionView 接入自动玻璃明暗适配,并移除旧 AppKit 背景渐变层,避免双背景叠加。
  • PreferencesView 新增“主题”页签和 8 主题选择卡片,移除 General 页旧深色视图开关。
  • AppDefaults 增加主题默认值与旧深色偏好迁移。
  • 29 个 localization JSON 增加主题文案并移除旧深色视图文案。
  • 新增 Scripts/theme_settings_qa.sh
  • 更新 src/TODO.mdsrc/CHANGELOG.mdsrc/Docs/Requirements/2026-06-24-app-grid-theme-system-todo.mdsrc/Docs/Requirements/2026-06-24-app-grid-theme-system-worklog.md
  • 生成首个体验 DMG:
  • /Users/ar/Projects/Taglauncher/.codex-worktrees/dark-glass-8.0.0/src/build/TagLauncher-8.0.0-theme-preview-build20260624.1415.dmg

QA 结论

  • APP_BUILD=20260624.1415 bash build.sh:PASS。
  • codesign --verify --deep --strict --verbose=2 build/TagLauncher.app:PASS。
  • 构建产物版本:8.0.0 (20260624.1415)
  • bash Scripts/theme_settings_qa.sh:PASS。
  • 29 个 localization JSON 解析:PASS。
  • bash Scripts/macos14_availability_typecheck_qa.sh:PASS。
  • bash Scripts/macos14_build_metadata_qa.sh:PASS。
  • bash Scripts/tag_navigation_hover_scroll_qa.sh:PASS。
  • bash Scripts/usage_tips_qa.sh:PASS。
  • bash Scripts/app_ordering_data_qa.sh:PASS。
  • bash Scripts/quick_search_system_app_qa.sh:PASS。
  • bash Scripts/quick_search_app_name_qa.sh:SKIP,本机未安装 /Applications/贝锐向日葵被控.app fixture。
  • hdiutil verify TagLauncher-8.0.0-theme-preview-build20260624.1415.dmg:PASS。
  • DMG SHA256:51cd8711f82ffeacb1999ed9f6022f0e197062f83009e317409e3794b4e1d84a

QA 基础设施备注

  • Scripts/window_logic_qa.sh 在本机 GUI 自动化环境出现间歇性失败,主要是 Dock 点击/热键投递偶发未触发 overlay,或 Codex/输入法类进程抢前台导致旧 frontmost 断言误报。
  • 已对脚本做非产品逻辑加固:Quick Search 坐标识别更稳、frontmost 断言降级为诊断、启动与热键增加等待/重试。
  • 该脚本仍建议后续单独作为 QA 基础设施任务继续稳定化;本轮主题功能不依赖其失败点。

未决问题

  • 需要用户安装体验包,确认 8 个主题的视觉方向、可读性和高级感是否达标。
  • 体验通过后,再决定是否冻结、commit、tag、制作正式发布包或 App Store 资料。

后续建议

  • 若用户认可主题方向,再做一次真实 GUI 截图验收和窗口脚本稳定化。
  • 正式发布时保留 marketing version 8.0.0,但使用最终验收后的新 build 号;preview DMG 不用于 App Store 上传。

2026-06-24 15:06 二次调色

用户反馈

  • 默认和深蓝可接受。
  • 黑色主题需要 100% 纯黑 App Grid 全屏背景。
  • 粉色和炫彩需要明亮、漂亮、年轻,不能是暗黑系。
  • 绿色需要像毛玻璃压在很绿的草坪/绿树上,整体明亮喜人。
  • 紫色和蓝色需要和深蓝拉开差异,否则没有存在价值。

已完成事项

  • AppGridTheme 二次调色:
  • 黑色:纯黑背景,不使用系统毛玻璃背板,不叠加渐变或暗化层。
  • 粉色:改为明亮粉、蜜桃和柔白高光。
  • 绿色:改为草坪绿、嫩绿和明亮高光。
  • 紫色:改为浅薰衣草到高饱和紫,和深蓝明显区分。
  • 蓝色:改为天空蓝、电光蓝和青色,和深蓝明显区分。
  • 炫彩:按 Meilang logo 的青蓝、浅青、淡紫、亮粉方向变亮。
  • 玻璃策略调整:
  • 深蓝和黑色使用深色玻璃容器。
  • 粉色、紫色、绿色、蓝色、炫彩使用浅色玻璃容器。
  • ContentView 背景策略补强:
  • 黑色主题走纯黑背景。
  • 亮色主题不再叠加暗化层。
  • theme_settings_qa.sh 增加纯黑策略、亮色浅玻璃策略、深蓝/黑色暗玻璃策略断言。
  • 更新 CODEGRAPH.mdsrc/TODO.mdsrc/CHANGELOG.md 和 8.0.0 主题工作日志。

新预览包

  • 版本:8.0.0
  • Build:20260624.1506
  • DMG:
  • /Users/ar/Projects/Taglauncher/.codex-worktrees/dark-glass-8.0.0/src/build/TagLauncher-8.0.0-theme-preview-build20260624.1506.dmg
  • SHA256:
  • c2704c435ef0b0ba8e3ea17824cbd3ffe89c118f34a966547b98ab6db96ebac5

QA 结论

  • bash Scripts/theme_settings_qa.sh:PASS。
  • bash Scripts/macos14_build_metadata_qa.sh:PASS。
  • bash Scripts/macos14_availability_typecheck_qa.sh:PASS。
  • APP_BUILD=20260624.1506 bash build.sh:PASS。
  • codesign --verify --deep --strict --verbose=2 build/TagLauncher.app:PASS。
  • 构建产物版本:8.0.0 (20260624.1506)LSMinimumSystemVersion=14.0
  • bash Scripts/usage_tips_qa.sh:PASS。
  • bash Scripts/tag_navigation_hover_scroll_qa.sh:PASS。
  • bash Scripts/app_ordering_data_qa.sh:PASS。
  • bash Scripts/quick_search_system_app_qa.sh:PASS。
  • bash Scripts/apple_default_apps_resource_qa.sh:PASS。
  • hdiutil verify TagLauncher-8.0.0-theme-preview-build20260624.1506.dmg:PASS。