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.md、src/CHANGELOG.md、src/Docs/Requirements/2026-06-24-app-grid-theme-system-todo.md、src/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.md、src/TODO.md、src/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。