Spice ๐ถ๏ธ | A highly-concurrent, plugin-driven desktop environment engine for macOS and Windows, written in Go.
Spice is a premium wallpaper manager that automatically cycles high-quality wallpapers from Wallhaven, Pexels, curated museum collections, your personal Google Photos, and Wikimedia Commons. It is available on the Mac App Store and Microsoft Store and runs quietly in the background, keeping your workspace fresh without interrupting your flow.
Note: Spice lives in your Windows system tray or macOS menu bar, giving you instant control over your desktop environment.
Spice is more than a utility; it's a high-performance framework for desktop environment management.
- Low-Contention UI Pipeline: Separates heavy 4K I/O operations from the Fyne UI thread using a hybrid-concurrency pipeline with serialized hot-path writes and O(1) state stores.
- Actor-Model Multi-Monitor: Independent goroutines manage each connected display autonomously without synchronous blocking.
- Plugin Ecosystem: Exposes a robust
ui.Plugininterface allowing developers to inject custom Fyne preference panels and system tray menus safely into the host engine.
- ๐ Browser Companion: Use our Chrome Extension or Firefox Add-on to seamlessly send any image from the web to your desktop.
- ๐๏ธ The Museum Experience: Turn your desk into a gallery with 4K+ Open Access masterpieces from The Met, Art Institute of Chicago, Cleveland Museum of Art, and the Rijksmuseum (Amsterdam).
- ๐ธ Curated Sources: Native support for Wallhaven, Pexels, and Wikimedia Commons.
- โ๏ธ Personal Collections: Seamlessly cycle your own memories with Google Photos integration.
- ๐ Local Folders: Point Spice to any directory on your computer to use your existing wallpaper library.
- โค๏ธ Local Favorites: Build your own curated collection that works offline.
- ๐ Smart Fit 2.0: A custom heuristic pipeline utilizing
pigocascade detection and luminance entropy calculations to override strict aspect-ratio gates.- Quality Mode (Strict): Ensures perfect composition by rejecting images that don't fit your screen, unless a clear face is detected.
- Flexibility Mode: Accepts high-res images with a "Safe Fallback" for ultrawide monitors.
- ๐งโ๐คโ๐ง Face Boost: Uses confidence-weighted scaling to ensure subjects are perfectly framed without zooming in on phantom shadows or knees.
- โก Ultra-Responsive: Engineered for zero-lag performance, ensuring the UI stays snappy even while handling high-resolution 4K content.
- ๐ฅ๏ธ Independent Multi-Monitor Suite: Spice v2.0 detects every connected display and assigns it an autonomous controller. Every monitor can be controlled individually via dedicated hotkeys.
- ๐ Orientation Intelligence: Spice understands the difference between landscape and portrait monitors. It picks images that match your screen's orientation before applying SmartCrop, so your vertical monitors get true portrait compositions.
- ๐ฏ Smart Crop Anchors: Fine-tune composition with a 9-direction anchor grid. Override the automatic crop position using intuitive WASD-style keyboard shortcuts to keep the best part of any image in frame.
- ๐ Organic Staggering: Handled via decentralized monitor Actor loops to prevent sudden CPU spikes across all displays.
- โจ๏ธ Global Hotkeys: Control Spice instantly from anywhere.
- ๐ Multilingual Support: Fully localized in 12 languages (English, German, Spanish, French, Italian, Portuguese, Japanese, Russian, Ukrainian, Chinese Simplified, and Chinese Traditional).
Target a specific monitor (1-9) by holding that number key while pressing the shortcut. Defaults to Display 1 if no number is held.
| Action | macOS Shortcut | Windows Shortcut |
|---|---|---|
| Next Wallpaper | Command + 1-9 + โ |
Alt + 1-9 + โ |
| Prev Wallpaper | Command + 1-9 + โ |
Alt + 1-9 + โ |
| Fav / Unfav | Command + 1-9 + โ |
Alt + 1-9 + โ |
| Del + Block | Command + 1-9 + โ |
Alt + 1-9 + โ |
| Pause Play | Command + 1-9 + P |
Alt + 1-9 + P |
| Shuffle | Command + 1-9 + R |
Alt + 1-9 + R |
| Info | Command + 1-9 + I |
Alt + 1-9 + I |
| Anchor Up | Command + 1-9 + W |
Alt + 1-9 + W |
| Anchor Down | Command + 1-9 + S |
Alt + 1-9 + S |
| Anchor Left | Command + 1-9 + A |
Alt + 1-9 + A |
| Anchor Right | Command + 1-9 + D |
Alt + 1-9 + D |
| Anchor Center | Command + 1-9 + E |
Alt + 1-9 + E |
| Anchor Auto | Command + 1-9 + Q |
Alt + 1-9 + Q |
These actions affect all displays simultaneously.
| Action | macOS Shortcut | Windows Shortcut |
|---|---|---|
| Next (All Displays) | Cmd + Ctrl + โ |
Ctrl + Alt + โ |
| Previous (All Displays) | Cmd + Ctrl + โ |
Ctrl + Alt + โ |
| Shuffle (All Displays) | Cmd + Ctrl + R |
Ctrl + Alt + R |
| Info (Primary Display) | Cmd + Ctrl + I |
Ctrl + Alt + I |
| All Settings | Cmd + Ctrl + O |
Ctrl + Alt + O |
| Global Sync | Cmd + Ctrl + D |
Ctrl + Alt + D |
Tip
Shortcut Conflicts: If these hotkeys conflict with your browser (e.g., Alt + Arrow on Windows or Cmd + Arrow on macOS for navigation) or other apps, you can disable Global or Targeted shortcuts independently in the App settings.
Important
macOS Permissions: Display-specific (chorded) hotkeys require Accessibility or Input Monitoring permissions to detect the number keys correctly. Go to System Settings > Privacy & Security to enable them for Spice.
- ๐ท๏ธ Instant Attribution: See the artist/photographer name via the tray menu in real-time.
- โฏ๏ธ Per-Display Pause: Pause rotation on a specific monitor while keeping others moving, or stop all rotation via the "Never" frequency setting.
- โ Blocklist: Trash a wallpaper once, and it's gone forever.
- User Guide: For a comprehensive look at all settings and features, see our Detailed User Guide.
- Architecture: Curious how Spice works under the hood? Read our Architecture Documentation for a deep dive into the data flow and actor-based multi-monitor management.
- Developer Context: For concurrency rules, lock hierarchy, and implementation constraints, see the Internal Developer Guide.
- New Providers: Want to add your own wallpaper source? Check out our Provider Creation Guide to learn how to implement the
ImageProviderinterface in minutes. - New Plugins: Want to extend Spice with completely new features? Read our Plugin Development Guide.
The easiest way to install Spice is via Homebrew:
brew install --cask spiceAlternatively, download the .dmg from the Releases Page.
Install directly from the Microsoft Store.
Alternatively, install silently via Winget:
winget install DixieFlatline76.Spice- Chrome / Brave / Edge: Install from Chrome Web Store
- Firefox: Install from Firefox Add-ons
- Safari: Included in the macOS App.
For a comprehensive walkthrough of all features, keyboard shortcuts, and configuration options, please refer to the Detailed User Guide.
Note: The compiled App Store releases include production OAuth credentials. If you are building from source, you must provide your own API keys (e.g., Google GCP, Pexels, Wikimedia) via a .spice_secrets file. See the included load_secrets scripts for details.
- Wallhaven Favorites: To use your private collection, use the URL format with your User ID:
https://wallhaven.cc/user/<username>/favorites/<id>, rather than the generic favorites link. - Disable Local Favorites: To turn off the "Favorite Images" provider, simply uncheck the "Active" box next to its query in the Spice Preferences > Wallpaper tab.
We have big plans for Spice!
- Linux & Intel Mac Support: While we currently focus on Apple Silicon (arm64), we plan to expand our official builds to Intel Macs and Linux.
- More Providers: Adding support for other wallpaper sources like Pixabay.
- Customizable Keyboard Shortcuts: Full control over modifier keys and hotkey combinations to avoid OS-level conflicts.
- Blocklist Editing: You can currently reset the whole blocklist, but removing single images is coming soon.
Found a bug or have an idea? Please open an issue on GitHub.
Privacy Policy | PolyForm Noncommercial 1.0.0 - Copyright (c) 2026 Karl Kwong

