Files
pebrel/scripts
kuddev 7432c3c58f feat: 窗口背景模糊(Windows Acrylic),设置面板可开关
winit 在 Windows 上的 `set_blur` 是空实现,所以 `window.blur` 这个配置项
在本平台一直什么都没做。DWM 从 22621 起提供 `DWMWA_SYSTEMBACKDROP_TYPE`,
纯 Win32 三行就能拿到,不需要 XAML 宿主。无边框 + 透明窗口上直接生效,不需要
`DwmExtendFrameIntoClientArea`;低于 22621 的系统调用静默失败、自动回落到
现有的纯 alpha,所以没有降级分支。

先选的是 Mica,实测推翻了:**Mica 给的是壁纸的主色调,不是窗口后面的实际
内容**,深色主题下就是一块几乎看不出变化的暗调。把 opacity 从 0.75 一路压
到 0.22 也没变化——这证明问题从来不在 alpha 上。系统资源管理器上 Mica 好看,
靠的是浅色主题配亮蓝壁纸,换到深色终端这个前提就没了。Acrylic 实时模糊后面
的真实内容,那个透视感 Mica 给不出来。

opacity 在这个模型里就是 tint 强度(自己画的底色 alpha),所以 opacity=0
是零着色的纯模糊。模糊由 DWM 进程合成,不进渲染循环,按需重绘的省电模型不受
影响;真正的代价在文字——只要 `opacity < 1`,ClearType 次像素抗锯齿就必须降
级成灰度(次像素要知道背景色才能算权重)。

开关落在 `nebula_settings.txt` 的 `blur=`,跟其它设置同一套持久化;引擎
侧那个同名的 `window.blur` 只是撞名,两者没有同步,所以窗口创建后要按真正的
设置再压一次。UI 上它紧贴透明度滑块——它修饰的正是滑块透出来的那层东西,隔开
就读不出这层因果。默认开。

506 passed。
2026-07-31 22:02:07 +08:00
..
2026-07-19 18:55:42 +08:00
2026-07-11 13:04:59 +08:00
2026-07-11 13:04:59 +08:00
2026-07-11 13:04:59 +08:00
2026-07-19 18:55:42 +08:00