星云,在鼠标下流动
十几万个粒子在 GPU 上模拟,在星系、行星环、圆环和波浪之间慢慢变换。在上面移动鼠标可以搅动它们,点一下会吹散。深色外观下它们发光,浅色外观下像墨水一样在纸上晕开。
这些选项由壁纸在清单里声明,App 把它们画成系统表单。改一个选项,壁纸会带着新的取值重新启动,这里也一样。
两块屏幕,一幅风景
「地平线」跟着真实的时钟走:太阳划过天空,晨昏染上霞光,夜里升起当天月相的月亮,还有星星和萤火虫。并排的显示器连成一整幅风景,太阳从一块屏幕走到另一块。
时间只往前走。想看夜晚,要先经过一场日落。
小组件,拿来就能玩
小组件有小、中、大三种尺寸,和系统小组件一样大。拖到哪儿,下次启动还在哪儿。
一只会看你的猫
像素猫在屏幕底部散步、坐下、舔爪、打盹。鼠标移上去它会看着你,点它会跳一下,拖起来就被拎着后颈晃。橘猫、灰虎斑、黑猫、奶牛猫,四种毛色。
它的窗口是透明的,只有猫身上那一块接住鼠标,其他地方的点击会落到下面的窗口上。
在后台,
安安静静
动态内容一直开着,就得懂得让路。DesktopEngine 替你定好了播放规则:
- 其他应用全屏时
- 壁纸继续、静音还是暂停,由你决定。
- 使用电池时
- 壁纸同样可选;小组件和伙伴最多每秒 30 帧。
- 看不见的时候
- 被挡住的内容停止绘制。显示器睡眠时,全部暂停并静音。
- 全局
- 一个帧率上限管住所有内容;每个内容单独调音量,菜单栏一键静音。
帧每秒
帧率是真的:这是粒子时钟每秒实际运行的帧数。
会写网页,就会写它
壁纸、小组件和桌面伙伴都是 JavaScript 或 TypeScript 小程序。Canvas 2D、WebGL 2、Web Audio、fetch 和 WebSocket 都是你熟悉的样子,three.js 和 PixiJS 直接能用。它们跑在原生的 JavaScriptCore 上,WebGL 2 经 ANGLE 翻译成 Metal。
改左边的代码,右边立刻重新载入,就像 desktopengine dev 在 App 里做的那样。
-
新建
desktopengine create wallpaper ripple --renderer three壁纸、小组件、桌面伙伴三种模板,都是 TypeScript。壁纸可以选 Canvas 2D、WebGL、three.js 或 PixiJS。
-
调试
desktopengine dev ripple在 App 里运行,保存即重新载入。console 输出和异常回到终端,也可以用 Safari 网页检查器打断点。
-
打包
desktopengine pack ripple生成一个 .zip,在 App 里导入就能用。
放到你的桌面上
需要 macOS 12 或更新版本。动态壁纸和小组件需要支持 Metal 的 Mac,图片和视频壁纸在任何 Mac 上都能用。
下载 DesktopEngine官网下载版包含屏幕保护程序:任何一张壁纸都能设成屏保。