A lightweight macOS menu bar app that plays looping videos as your desktop wallpaper.
- Per-display wallpapers — set a different video for each connected monitor
- Looping playback — videos loop seamlessly using
AVQueuePlayer - Remembers your selection — persists video choices across launches using security-scoped bookmarks
- Global controls — play/pause all wallpapers from the menu bar
- Launch at login — optional auto-start via
ServiceManagement - Minimal footprint — no dock icon, lives entirely in the menu bar
MP4, MOV, QuickTime, WebM
- macOS 13.0+
- Xcode 14+
- Open
WallpaperWizard.xcodeprojin Xcode - Build and run (⌘R)
- Click the
icon in the menu bar - Select a display, then choose Select Video…
- Pick a video file — it starts playing as your wallpaper immediately
- Use Pause All / Play All to toggle playback
- Use Clear Video to remove a wallpaper from a display
WallpaperWizard/
├── App/
│ └── AppDelegate.swift # App entry point
├── Playback/
│ ├── VideoPlayer.swift # AVQueuePlayer looping wrapper
│ └── VideoFileManager.swift # File picker & bookmark persistence
├── UI/
│ └── StatusBarController.swift # Menu bar icon & menus
├── Utilities/
│ ├── Defaults.swift # UserDefaults storage
│ └── LaunchAtLogin.swift # ServiceManagement wrapper
└── Wallpaper/
├── WallpaperManager.swift # Per-screen video lifecycle
└── WallpaperWindow.swift # Borderless desktop-level window
MIT