Nebula, stirred by your pointer
Over a hundred thousand particles, simulated on the GPU, drift between a galaxy, a ringed planet, a torus and a wave. Move the pointer over them to stir them, click to scatter them. In the dark appearance they glow; in the light one they spread like ink on paper.
The wallpaper declares these options in its manifest, and the app draws them as a native form. Change one and the wallpaper starts again with the new value, just like here.
Two displays, one landscape
Horizon runs on the real clock: the sun crosses the sky, dawn and dusk color it, and at night the moon rises in today’s phase, with stars and fireflies. Displays side by side join into one landscape, and the sun walks from one to the next.
Time only moves forward. To get to the night, you watch a sunset first.
Widgets you can play with
Widgets come in small, medium and large, the same sizes as system widgets. Wherever you drag one, it’s still there next time.
Companions that watch you
Like a desktop pet, the pixel cat walks along the bottom of the screen, sits, grooms and naps. Hover it and it looks at you, click it and it hops, pick it up and it dangles by the scruff. Four coats: ginger, gray tabby, black and tuxedo.
The desk hamster sits at a little desk: it types when you type and moves its mouse when you move yours, and its eyes follow the pointer. Type a few keys anywhere on this page.
Their windows are transparent. Only their bodies take the mouse; a click anywhere else lands on the window below.
Quiet in the background
Live content that’s always on has to know when to step aside. DesktopEngine comes with playback rules:
- When another app is full screen
- Wallpapers keep playing, mute or pause. You choose.
- On battery power
- The same choice for wallpapers; widgets and companions run at up to 30 frames per second.
- When nothing can see it
- Covered content stops drawing. When the display sleeps, everything pauses and mutes.
- Everywhere
- One frame rate cap for all content, a volume for each, and one click in the menu bar mutes them all.
frames per second
The frame rate is real: it’s how many frames the Particle Clock actually runs each second.
Built with the web you know
Wallpapers, widgets and desktop companions are JavaScript or TypeScript mini programs. Canvas 2D, WebGL 2, Web Audio, fetch and WebSocket work the way you know them, and three.js and PixiJS work as they are. They run on native JavaScriptCore, and ANGLE turns WebGL 2 into Metal.
Edit the code on the left and the right reloads at once, the way desktopengine dev does in the app.
-
Create
desktopengine create wallpaper ripple --renderer threeTemplates for wallpapers, widgets and desktop companions, all in TypeScript. Wallpapers can draw with Canvas 2D, WebGL, three.js or PixiJS.
-
Debug
desktopengine dev rippleRuns in the app and reloads when you save. Console output and exceptions come back to the terminal, and Safari’s Web Inspector can stop at breakpoints.
-
Publish
desktopengine login desktopengine publish ripple --copyright original --submitUploads it to the store and submits it for review; once approved, anyone can find it there. Publishing is by invitation while we open the store to creators step by step. To apply, email creators@desktopengine.app with links to your work.
Put it on your desktop
Looking for something like Wallpaper Engine on the Mac? DesktopEngine is made for it. Requires macOS 12 or later. Live wallpapers and widgets need a Mac that supports Metal; picture and video wallpapers work on any Mac.
Which one?
We recommend the download from this site: it has everything, and new versions come to it first. Both have the same wallpapers, widgets, companions, store, account and sync; a Mac can have only one of them installed.
| This site | Mac App Store | |
|---|---|---|
| Screen saver: any wallpaper can be your screen saver | Yes | No |
| Edit Desktop: windows step aside while you pick wallpapers, widgets and companions on the desktop itself | Yes | No |
| The Mac’s temperature, for widgets that show it | Yes | No |
| Updates | The app checks for them itself | From the App Store |
| New versions | The day they’re released | After Apple’s review, usually a few days later |