Photographers have tens or hundreds of thousands of images sitting unused in Lightroom. Lightpaper turns the local Lightroom cache into a macOS wallpaper / screen saver, so those photos keep resurfacing for you, your family, and friends.
Lightpaper only reads local cached Lightroom Desktop files. It does not contact Adobe, sign in to your account, or communicate with remote Adobe storage.
No toolchain required — both options install a prebuilt universal .saver from
the latest GitHub release.
Homebrew (recommended):
brew install --cask dmitri-b/tap/lightpaperOr a one-line script:
curl -fsSL https://raw.githubusercontent.com/dmitri-b/lightpaper/master/scripts/install.sh | shEnable it:
- Open System Settings.
- Go to Screen Saver.
- Pick Lightpaper.
Lightpaper is not notarized, so Gatekeeper blocks it the first time with "Apple could not verify ... is free of malware". To allow it (once per Mac):
- In System Settings > Screen Saver, select Lightpaper and dismiss the dialog.
- Open System Settings > Privacy & Security and scroll to the Security section.
- Click Open Anyway next to the Lightpaper message and authenticate.
- Re-select Lightpaper in Screen Saver — it now loads.
The one-line script also clears the download quarantine flag for you; on older macOS that alone is enough, but recent versions still require the Open Anyway step above.
After upgrading (brew upgrade or re-running the script), macOS may keep
running the previously loaded bundle from its cache, so you still see the old
version. Flush it by recycling the screen-saver host processes:
killall legacyScreenSaver legacyScreenSaver-x86_64 WallpaperAgent 2>/dev/nullThen reopen System Settings > Screen Saver. (Logging out and back in achieves the same thing.)
### Build from source
gh repo clone dmitri-b/lightpaper
cd lightpaper
./scripts/install-saver.shIf a shared screen shouldn't show portraits, turn on privacy mode: photos that prominently feature a person (headshots, posed shots) are skipped, while scenery that merely contains a small, distant bystander is kept.
defaults -currentHost write dev.lightpaper.Lightpaper.ScreenSaver hidePeople -bool trueTurn it back off with -bool false. Either way, flush the screen-saver host so
the change is picked up (same as after updating):
killall legacyScreenSaver legacyScreenSaver-x86_64 WallpaperAgent 2>/dev/nullDetection runs entirely on-device (Apple's Vision framework); no photo ever leaves your Mac.
Final wallpaper:
macOS Screen Saver setting:
Build and open the app bundle:
./scripts/build-app.sh
open .build/Lightpaper.appRun windowed:
swift run lightpaper-view -- --windowed --mode mosaic --limit 500
swift run lightpaper-view -- --windowed --mode slideshow --source previewsScan the Lightroom cache:
swift run lightpaper-scan -- --source previews --limit 10
swift run lightpaper-scan -- --jsonKeys:
Space,Right,Down,L: nextLeft,Up,J: previousEsc,Q: quit
Requires a local Lightroom Desktop library at ~/Pictures/Lightroom Library.lrlibrary.

