YzzLiveWall
把视频做成桌面壁纸,不挡桌面、不抢鼠标
C++ + libmpv 做的动态壁纸:把本地视频铺成桌面底层,透明嵌进桌面层,鼠标照样点得穿,选中桌面图标不会误暂停。
能做什么
- C++ 直接嵌 libmpv 解码,播本地视频/动图
- 透明窗口嵌入桌面层(WorkerW 层级),桌面内容透出来
- 鼠标穿透:壁纸底下照样点得到图标
- 智能遮挡检测:点桌面不会把壁纸误判成暂停
- 窗口层与渲染层分离,改播放参数不必重开
详细说明
它想解决的
壁纸播放器最容易翻车的三件事:一是把桌面整个盖住,图标点不动;二是你一点桌面,壁纸就以为你在操作、戛然而止;三是内存和 CPU 天天往上爬。
YzzScreenSnap 的兄弟款 YzzLiveWall 逐条绕开:透明层嵌进桌面层级,鼠标事件穿得过去;点击落在桌面(比如选中一个图标)时,程序知道那是“你在用电脑”,不是“你要播下一个”。
技术底子
核心是 C++ 里嵌 libmpv 负责解码和渲染 —— 不用自己写播放器,libmpv 那一套够稳。窗口层负责透明与穿透,mpv 那层负责画面,两层分开,改播放参数不用重开窗口。
现在的状态
这套东西在自用场景里已经跑顺了,作者日常拿它当桌面底层看风景。UI 那一层后来迁到了 Flutter,C++ 核心没动。
⚠️ 这不是一个“功能堆满”的壁纸工具:它只做一件事 —— 把你自己的视频放成桌面,放稳、不添乱。