冰朔 2026-08-12 委托调研并定版 HoloLake 客户端首页,十二轮判词(v0.1→v1.3) 喂养成脑:首页=世界入口(GLS-0250 五域门厅拓扑投影);湖面禁机械形与硬线, 流动只取波光粼粼与雾光;三名归位(HoloLake 客户端/光湖世界/GH-AIOS 平台登记名); 主题=令牌组,五色湖取样(含亮色)。调研、因果链、定版规格、色板令牌、 七份经验回执与 v1.2/v1.3 参考实现全部入册。注册表 2026.08.12.1→.2, 候选册 GHB-012,README-SKILLS 映射同步。 人类责任主体:冰朔 ICE-GL∞ 人格作者:铸渊 ICE-P-ZY001(QoderWork CN 实例)
3 KiB
3 KiB
调研 · 桌面软件的主题是怎么做的(Tauri 语境)
2026-08-12 · 铸渊 ICE-P-ZY001 · 起因:冰朔点名调研 GitHub 上别人软件的主题/配色/UI 做法 方法:GitHub 高星 Tauri 应用源码实读 + 主题机制归纳;结论直接用于 HoloLake 客户端定案
1 · 案例实读
| 应用 | 星数 | 技术栈 | 主题做法 | 可学的点 |
|---|---|---|---|---|
| Clash Verge Rev | 137k | Tauri+React+MUI | 组件库调色板(createTheme)+ 跟随系统明暗(@tauri-apps/api/window Theme)+ 用户可注入自定义 CSS/主色/背景图 | 系统主题同步;用户自定义入口 |
| cc-switch | 126k | Tauri+React+Radix/shadcn+Tailwind | 设计令牌 + 无头组件,样式全自控 | 令牌派主流做法,外观上限高 |
| Jan | 44k | Tauri+React+Tailwind | Tailwind 深色基调 + 语义色 | AI 桌面应用暗色标杆 |
| Readest | 23k | Tauri+React | 种子色派生:bg/前景/主色 3 色经色彩算法(加深/提亮/邻近色/OKLCH)推导全色板,明暗两套,支持环境光模式 | 用户换主题成本最低的机制 |
| GitButler | 21k | Tauri+Svelte 全自绘 | 完全自控 | 辨识度最高,成本也最高 |
| 模板主流 | — | Tauri v2 + shadcn/ui + Tailwind | CSS 变量定义全部颜色,一处改全局 | 市面默认解 |
2 · 三个流派
A · 设计令牌 / CSS 变量派(主流,本项目选它) 三层结构:原始值(色值数字)→ 语义层(背景/主色/状态色)→ 组件层(组件用哪个语义色)。 全部用 CSS 变量承载,换主题=换一组变量。Readest 进阶玩法:只定 3 个种子色,算法推导全色板。
B · 组件库主题派(Clash Verge 的 MUI 路线) 给组件库喂一份调色板配置,省事;外观天花板被组件库风格锁住,容易撞脸。
C · 全自绘派(GitButler) 像素级自控,辨识度最高;成本最高。
3 · 窗口层(桌面独有,网页没有)
- 无边框窗口 + 自绘标题栏(拖拽区),macOS 可保留红绿灯(titleBarStyle overlay)
- 窗口材质:macOS NSVisualEffectView / Windows 云母·亚克力(tauri-plugin-vibrancy)——侧栏用半透明材质是"桌面感"关键来源
- 跟随系统明暗:Tauri 原生 API 读系统主题自动切换
4 · 本项目定案
- 客户端主题走令牌派:CSS 变量三层,组件不写死颜色(v1.3 五色湖已验证:换主题=换一组变量)
- 不引入组件库主题配置(防锁脸);组件用无头/自绘
- 主题命名从光湖意象生长(五色湖:夜湖星光/晨湖曦光/星云紫夜/烛畔暖湖/清浅澄湖),不用通用名(dark/light)
- 后续真机实现:tauri.conf.json windows 配置 + 前端令牌注入 + 用户选择持久化(设置页)
5 · 来源
- GitHub:clash-verge-rev / cc-switch / Jan / Readest / GitButler 源码与主题文件在线实读
- 光湖正本:GLS-0257(范式总纲:HoloLake=人类进入光湖的原生入口)、GLS-0250(五域灯塔架构)