Windows 桌面美化施工手册(Rainmeter 体系)
面向"抖音风格"桌面:动态壁纸层 + 毛玻璃 Dock 层 + Rainmeter 小组件/频谱层 + 图标层。
本 Skill 记录已验证可用的定位、编码、路径、改色与验证方法,以及 6 个已踩过的坑,按此执行可避免 90% 返工。
0. 先读这台机器的既有事实
完整清单见 {SKILL_DIR}/references/environment.md。关键项:
| 项 | 值 |
|---|---|
| Rainmeter 程序 | C:\Program Files\Rainmeter\Rainmeter.exe(v4.5.28) |
| 皮肤根目录 SkinPath | C:\Users\Administrator\Documents\Rainmeter\Skins\ |
| 配置文件 | C:\Users\<user>\AppData\Roaming\Rainmeter\Rainmeter.ini,UTF-16 LE,写回必须用 utf-16 编码 |
| 屏幕 | 2560×1440,壁纸底部约 #F2F4F7~#FAFAFA(灰白) |
| Dock | GlassBoard(C:\Users\Administrator\Downloads\GlassBoard) |
| 已装皮肤 | Mond(Clock/Weather/Player)、CXDezign\MinimalVisualizer(当前在用频谱)、简约频谱(备用,Active=0) |
改任何文件前先备份(.bak),Rainmeter.ini 尤其。
1. 分层施工顺序(严格按层推进,别混着做)
- 壁纸层:Lively Wallpaper(Microsoft Store 或 exe 版)挂动态壁纸 → 必须设为"桌面级"(Desktop) 而非"墙纸级",否则遮住 Rainmeter。
- Dock 层:GlassBoard 毛玻璃 Dock,配置放
Downloads\GlassBoard,自启加到启动项/开机启动。 - 小组件层:Rainmeter + Mond 皮肤(Clock、Weather、Player),按 §3 定位。
- 频谱层:见 §4 选型决策,优先 MinimalVisualizer。
- 图标层:致美化下载莫兰迪/圆角图标包 → 右键文件夹属性改图标 / 或 IconPackager;Dock 图标在 GlassBoard 配置内单独替换。
每层做完立刻截图验证,确认无误再进行下一层。
2. 安装一个 Rainmeter 皮肤的标准流水线
下载 zip → 解压 → 校验目录层级 → 复制到 Skins\<作者>\<皮肤名> → 写 Rainmeter.ini 配置段 → !Refresh → 截图验证
2.1 目录层级(最高频踩坑)
皮肤 ini 里的 @Include=#ROOTCONFIGPATH#\... 要求 ini 的上一级目录就是皮肤根。
错误形态:Skins\MinimalVisualizer\MinimalVisualizer\MinimalVisualizer.ini(多套了一层 → 报"无法读取文件")。
正确形态:Skins\CXDezign\MinimalVisualizer\MinimalVisualizer.ini。
规则:解压后先看 zip 内部结构,若条目是 X\X\...,只取内层 X 放到 Skins\<作者或任意命名>\ 下。
2.2 写配置段(用脚本,别手改)
python {SKILL_DIR}/scripts/set_skin.py --config "CXDezign\MinimalVisualizer" \
--x 0 --y 1292 --active 1 --topmost 1
脚本职责:UTF-16 读写、自动补 [Section]、保留其余皮肤配置、写 Active/WindowX/WindowY/AlwaysOnTop。
2.3 刷新
& "C:\Program Files\Rainmeter\Rainmeter.exe" !Refresh "CXDezign\MinimalVisualizer"
批量:!RefreshApp(全部重载)。若改了 Variables.inc 只影响 #var# 时也需 !Refresh,!SetVariable 不刷新 include 文件。
3. Mond 皮肤定位与本地化(已验证坐标)
| 皮肤 | 配置段 | 坐标 |
|---|---|---|
| Clock | Mond\Clock |
663,1037 |
| Weather | Mond\Weather |
1164,958 |
| Player | Mond\Player |
现 Active=0(被 MinimalVisualizer 取代) |
汉化/本地化要点:
- 24 小时制:Variables.inc 里 TimeFormat/%H,不要 %I。
- 华氏转摄氏:Weather.ini 的 TempUnit=F → C,换算公式处 (x-32)*5/9。
- 天气中文化:Open-Meteo 返回英文 condition,需映射表(Sunny→晴 等),坐标用 27.650337,113.875415(江西萍乡安源)。
- Player 音乐条:原 NowPlaying 版在国内常空白,改 WebNowPlaying 插件(需装浏览器扩展)或直接用 MinimalVisualizer(推荐,见 §4)。
4. 音乐频谱/波形条选型(决定性经验)
用户核心诉求:一条细长、简约、随音乐起伏的波形,不要粗柱条、不要大体积成品。
| 方案 | 结论 |
|---|---|
| 简约频谱(致美化,AudioLevel) | 柱条式,需自改 png(bar_slim.png 3×56)+ 皮宽 210/条宽 3/间隔 7,仍显笨重 → 仅备用 |
| MinimalVisualizer(GitHub, CXDezign) | Shape 贝塞尔曲线单线波形,天然细长 → 首选 |
| 自制 Shape 柱条 | 用户明确反对手搓拼凑 |
MinimalVisualizer 关键参数(@Resources\Variables.inc):
bandHeight=48、lineWidth=2、Bands=20、FreqMin=40、FreqMax=12000、colourTop/colourBottom。
长度由 xconst2(点间距)与 Bands 决定,全屏约 792px;改 VisualDump.inc 的缩放系数可整体放大(如 1.5)。
4.1 颜色与对比度(重要)
- 白色线条
255,255,255放在浅色壁纸上几乎不可见。 - 已验证解法:双层 Shape —— 深色描边在下 + 白线在上。
- 把长路径
SW=与渐变SWG=上移到[Variables]段(同 ini 内多 meter 共享) - 新增
[VisualizerOutline](同 X/Y,Shape=Path SW | Stroke Color 18,18,22,210 | StrokeWidth (#lineWidth#+2)),放在[Visualizer]之前(Rainmeter 后定义的 meter 绘制在上层) - 备选:直接改深灰
55,55,55单线;或全屏用深色壁纸时纯白即可。
5. 验证方法(必须做,别口头"应该可以")
python {SKILL_DIR}/scripts/verify_visualizer.py --y 1260 --y2 1330 --out {TEMP}/verify.png
脚本会:循环播放系统测试音(C:\Windows\Media\Ring07.wav,SND_LOOP|SND_ASYNC)→ 抓全屏 → 裁剪目标横向条带并 2× 放大保存 → 打印目标区域内暗/亮像素统计。
拿到放大图后再用工位视觉确认"是否有波形、什么颜色、有无描边"。只有静止一条直线 = 没吃到音频,见 §6-③。
6. 已踩过的坑(必查清单)
① 皮肤不显示 → 先查 ini 路径层级(§2.1),再查 Rainmeter.ini 里 Active=1,最后查 AlwaysOnTop 与坐标是否在屏外。
② 中文/#变量# 不解析 → Rainmeter.ini 被以 UTF-8 写回;必须 UTF-16。
③ 波形不动/全平 → AudioLevel/音量捕获取的是播放设备输出;验证时必须有实际音频在播(脚本已内置),并且 Windows 音量不为 0、未静音、未用独占模式应用。
④ TranslucentTB 导致 explorer 崩溃(comctl32.dll, 0xc0000005)→ 不要用 MSIX 版;改用便携版 2023.2、StartAllBack,或干脆放弃任务栏透明(用户当前选择:保持现状)。
⑤ 改完不见效 → 忘记 !Refresh;或改的是 Variables.inc 但 ini 缓存未重载。
⑥ 多套皮肤互相遮挡 → 旧皮肤 Active=0 但窗口仍置顶;确认 WindowX/Y 不重叠并只保留一套 Active=1。
7. 交付与话术
- 每步给具体坐标/参数/文件路径,别只说"已安装"。
- 效果以截图为准,产图放
output\,用yyb-product卡片声明(皮肤 ini + 截图)。 - 用户偏好:简约、细、一长条、白色;不要粗柱条和花哨成品。
参考文件
references/environment.md— 本机环境与已装皮肤完整清单、坐标references/pitfalls.md— 踩坑与修复命令原文references/skin-config-template.md— Rainmeter.ini 配置段模板与常用 bang 命令
(内容由AI生成,仅供参考)