A live window to somewhere else, behind your work.
Make any website your Mac desktop wallpaper: a nature film, a live camera, a map, a dashboard, or a shader.
Anything a browser can draw, drawn behind your windows.
Releases · Adding a site · Candidate sites · Roadmap · Contributing · 简体中文
brew tap PathGao/tap https://github.com/PathGao/Nifro
brew trust --cask PathGao/tap/nifro
brew install --cask nifroReview Casks/nifro.rb before trusting this third-party cask.
| Chip | Download | |
|---|---|---|
| Apple silicon | Nifro-arm64.dmg |
M1 and later |
| Intel | Nifro-x86_64.dmg |
There is no universal binary, so nobody downloads the half they cannot run. Both links always point at the newest build.
Releases from v0.9.1 require Apple Developer ID signing and notarization before publication.
Warning
A fixed Dock has started hiding? Full-screen video and other macOS transitions can sometimes
make a Dock configured to stay visible behave as though it were set to auto-hide. Open Terminal and
run killall Dock to restore it. This is a known macOS bug; Nifro works around it as far as it can,
and the issue has been reported to Apple.
Requires macOS 15 or later.
brew uninstall --zap --cask nifroDragging the app to the Trash leaves its container behind. That is macOS, not Nifro — a container
outlives the app that owned it, and no app is given a chance to run at uninstall. --zap is the flag
that removes it; without it, or if the app was installed from the disk image, delete these by hand:
~/Library/Containers/com.pathgao.nifro
~/Library/Containers/com.pathgao.nifro.ShareExtension
~/Library/Application Scripts/com.pathgao.nifro
~/Library/Application Scripts/com.pathgao.nifro.ShareExtension
What is in there is mostly WebKit's, not yours, and Nifro keeps it under 100 MB while it runs — see
DiskBudget. Settings → Advanced → Clear all website data
empties it on demand.
Inspired by Plash by Sindre Sorhus.
Nifro starts with the same idea: use a web page as your desktop wallpaper. Everything around that idea has been rebuilt.
The interface makes the relationship between websites, playlists and displays easy to see and control. Each display has its own wallpaper, controls and state. You can crop a page to the part that belongs on your desktop, and manage sites as playlists instead of a flat list.
Performance and day-to-day use are part of that redesign too. The idea remains; nearly every part of the app that delivers it has been rebuilt.
Put a web page on your desktop. Use a live camera, an art site, a map, a dashboard or any other page that works better in the background than in another browser tab.
Give every display its own page. On a multi-display Mac, each screen can show something different. The menu-bar panel puts every display side by side, with its current page and only its own controls.
Show only the useful part of a page. Drag, scroll or zoom to frame the region you want. Nifro remembers that region and keeps the same place in view when you move it to a display of another size.
Organize sites as playlists. Make playlists for work, scenery or anything else, then let a display stay on one site, move through them in order or at random, or follow each site's schedule.
Use a page when you need to. Hold a key to click, scroll and zoom it; let go and it becomes a wallpaper again. Sound and link behaviour are remembered for each website.
Start from a gallery or make your own. The built-in gallery has sites selected for desktop use, and you can add any page yourself. Nifro is available in English and Simplified Chinese.
Nifro works best with pages that are pleasant to leave on screen and still useful when you only glance at them.
- Generative art and ambient animation. Floor796 and similar art sites turn a static desktop into something that keeps changing without demanding attention.
- Music and long-form video. A YouTube lofi stream, ambient music or HDR landscape video can sit behind your work, while sound stays under per-website control.
- Live scenery. Window views, nature cameras and WindowSwap make a calm background that keeps changing throughout the day.
- Work and world dashboards. OpenAI or Claude usage pages, and live dashboards such as World Monitor, make information you check repeatedly available at a glance.
- Live maps. Windy and Flightradar24 are useful when weather or flight activity is worth keeping in view.
- macOS 15 or later
- Xcode 26 or later
git clone https://github.com/PathGao/Nifro.git
cd Nifro
./build.shFull Xcode is required for icon compilation and Shortcuts metadata, but the IDE
can stay closed. The app is written to
.xcode-build/Build/Products/Release/Nifro.app with an ad-hoc signature and sandbox
entitlements. Its com.pathgao.nifro.dev identity and nifro-dev: URL scheme keep
development data separate from the installed release. The script does not install,
launch, or modify keychains.
./build.sh ci builds unsigned Debug code. ./build.sh release builds with the
production identity and an existing Developer ID certificate. See
the release guide for signing and notarization.
For interactive debugging, open Tools/Nifro.xcodeproj and use the Nifro scheme.
swift testThe suite covers both app behaviour and project guardrails: display-specific state, playlist migration, crop and zoom behaviour, URL handling, settings compatibility, and source-level rules that types alone cannot enforce.
Sources/ contains the app and share extension, Tests/ contains tests, and
Tools/ contains the Xcode project, build configuration, and maintenance scripts.
assets/ holds design assets, docs/ holds design and release notes, sites/
holds the published site catalog, and Casks/ is the Homebrew entry point.
Start with CONTRIBUTING.md. The lowest-effort useful contribution is a site entry. If you have a page that works well as a wallpaper, that is worth more to this project than most code.
MIT. See license. The app icon and other artwork are original to this project.

