v1.0.1 — Free & Open Source

MoonJoy

A cross-platform space image screensaver and desktop wallpaper rotator with live mission overlay. Stunning imagery, zero effort.

๐Ÿ Python / Pillow ๐Ÿ–ฅ๏ธ Win ยท Mac ยท Linux v1.0.1
10+
Features
3
Platforms
1
Installer
100%
Free
MoonJoy โ€” GUI, screensaver, and mission overlay in action

Everything You Need for the Perfect Desktop

Turn your desktop into a window to the cosmos with automatic image slideshows, wallpaper rotation, and live space mission data.

๐Ÿ–ผ๏ธ

Fullscreen Screensaver

Beautiful fullscreen slideshow with smooth transitions. Reads images from any folder you choose โ€” JPG, PNG, GIF, BMP, WebP, and TIFF supported.

๐ŸŒ

Wallpaper Rotator

Automatically changes your desktop wallpaper at a configurable interval. Supports fit, fill, stretch, and center modes.

๐Ÿš€

Mission Overlay

Live scrolling overlay showing Artemis program status and upcoming launches โ€” burned directly onto your wallpaper or displayed on the screensaver.

๐Ÿ”’

Lock Screen Support

Optionally apply the same wallpaper (with overlay) to your Windows lock screen. Uses safe UAC elevation for the system registry.

๐Ÿ“

Any Image Folder

Browse and select any folder of images. MoonJoy recursively scans subdirectories so all your photos are included automatically.

๐Ÿ”€

Shuffle & Sort

Enable shuffle for random variety, or disable it for a predictable ordered slideshow. Your choice persists across sessions.

โฌ†๏ธ

Auto-Update

Built-in update checker queries GitHub releases. One click to download the latest version โ€” never miss new features.

๐Ÿ–ฅ๏ธ

Cross-Platform

Native installers for Windows (MSI), macOS (DMG), and Linux (.deb). Works with GNOME, KDE, XFCE, Cinnamon, MATE, i3, and more.

๐ŸŽจ

Dark Themed GUI

Sleek dark interface for configuring every setting. Logo, status bar, and section-grouped controls โ€” all without leaving the app.

Fullscreen Screensaver

A gorgeous fullscreen image slideshow that activates as your screensaver or on demand.

  • โœฆ
    Configurable Interval โ€” Set slide duration from 1 second to hours. Perfect for ambient displays or quick previews.
  • โœฆ
    Mission Data Overlay โ€” Real-time scrolling text in the corner showing Artemis missions and upcoming launch dates, color-coded by status.
  • โœฆ
    Instant Exit โ€” Move the mouse or press any key to smoothly exit the screensaver and return to your desktop.
  • โœฆ
    Windows SCR Integration โ€” Responds to Windows screensaver flags (/s, /c, /p) so it works natively with Screen Saver Settings.
MoonJoy screensaver with overlay
Fullscreen screensaver with scrolling mission overlay
Desktop wallpaper with mission overlay burned on
Desktop wallpaper with mission data overlay

Wallpaper Rotator

A background daemon that automatically changes your desktop wallpaper on a schedule.

  • โœฆ
    Configurable Interval โ€” Rotate every 30 seconds, 5 minutes, or once an hour. You pick the pace.
  • โœฆ
    4 Fit Modes โ€” Fit (centered on black), Fill (crop to fill), Stretch, and Center. Each image is prepared per your preference before being set.
  • โœฆ
    Overlay Burn โ€” Optionally burns the mission overlay directly onto the wallpaper image so it's always visible, with paginated display for long data.
  • โœฆ
    Lock Screen Sync โ€” On Windows, the same wallpaper (with overlay) is applied to your lock screen via safe registry writes with UAC elevation.
  • โœฆ
    Graceful Shutdown โ€” Responds to Ctrl+C and system signals. Clean exit, no orphaned processes.

Space Mission Overlay

Stay informed about humanity's journey to the Moon โ€” right on your desktop.

  • โœฆ
    Artemis Program โ€” All five Artemis missions with status (Completed, Active, Upcoming), launch dates, durations, and mission types.
  • โœฆ
    Upcoming Launches โ€” 20+ upcoming missions including ISS resupply, CLPS lunar landers, and deep-space telescopes.
  • โœฆ
    Color-Coded Status โ€” Green for completed, orange for active, blue for upcoming, purple for launches, cyan for section headers.
  • โœฆ
    6-Hour Cache โ€” Data is cached locally and refreshed every 6 hours. Works offline with hardcoded fallback data.
  • โœฆ
    Paginated on Wallpaper โ€” When there are more lines than fit the screen, the overlay auto-paginates across wallpaper rotations.
Close-up of mission data overlay
Mission overlay โ€” color-coded by status
MoonJoy settings GUI
Settings GUI โ€” dark themed with Platysoft branding

Settings GUI

Every option is accessible from a single dark-themed window โ€” no config files to edit.

๐Ÿ“ Images Folder

Browse to select any folder. MoonJoy recursively scans for images in all subdirectories.

๐Ÿ–ผ๏ธ Screensaver

Slide interval, shuffle toggle, mission overlay toggle and scroll speed.

๐ŸŒ Wallpaper

Change interval, fit mode selector, overlay burn and lock screen toggles.

โฌ†๏ธ Updates

One-click update check queries GitHub releases. Opens the download page if a new version is found.

Technical Details

Built with Python and Pillow for maximum portability and reliability.

Platform

  • Python 3.12+ / Pillow / tkinter
  • Windows 10/11, macOS, Linux
  • Self-contained PyInstaller binary
  • MSI, DMG, and .deb installers

Architecture

  • Modular package (moonjoy.*)
  • JSON config at %APPDATA%
  • Background daemon for wallpaper
  • Threaded data loading

Image Processing

  • Pillow for resize, crop, overlay
  • Fit / Fill / Stretch / Center modes
  • JPG, PNG, GIF, BMP, WebP, TIFF
  • Overlay burn with alpha compositing

Installers

  • Windows: WiX 5 MSI (Program Files)
  • macOS: DMG with .app bundle
  • Linux: .deb with desktop entry
  • GitHub Actions CI/CD

System Requirements

RequirementDetails
Operating SystemWindows 10+, macOS 12+, Ubuntu 22.04+ (x64)
Disk Space~50 MB (self-contained binary)
RAM128 MB min, 256 MB+ recommended
PrerequisitesNone — everything bundled

Frequently Asked Questions

Common questions about MoonJoy.

Where does MoonJoy look for images?
By default, it looks for an images folder next to the executable. You can change this in the Settings GUI using the Browse button, or by editing the JSON config at %APPDATA%\MoonJoy\moonjoy_config.json.
Can I use it as a Windows screensaver?
Yes! MoonJoy responds to Windows screensaver flags (/s, /c, /p). Rename the exe to .scr and place it in C:\Windows\System32, or launch it from the GUI.
How do I change the wallpaper rotation interval?
Open the Settings GUI (→ Wallpaper Rotator section) and set the "Change interval" in seconds. Default is 300 (5 minutes). Click Save Settings to persist.
What are the fit modes?
Fit: scales the image to fit within the screen, centered on a black background. Fill: scales to cover the entire screen, cropping excess. Stretch: stretches to exact screen dimensions. Center: places the image at its original size in the center.
Does the overlay update automatically?
Yes. Mission data is cached for 6 hours and refreshed from nasa.gov. If the network is unavailable, hardcoded fallback data is used.
How does the lock screen feature work?
On Windows, MoonJoy writes the wallpaper path to the HKLM\PersonalizationCSP registry key. This requires admin privileges, so a UAC prompt will appear. On Linux, the lock screen is set via the appropriate desktop environment commands.
Does it work on macOS?
Yes. The wallpaper is set via AppleScript (osascript) which works on all recent macOS versions. A DMG installer with a proper .app bundle is provided.
How do I check for updates?
Click the "Check for Updates" button in the Settings GUI. It queries the GitHub Releases API and offers to open the download page if a newer version is found.
What image formats are supported?
JPG, JPEG, PNG, GIF, BMP, WebP, TIFF, and TIF. The scanner finds all matching files recursively in the configured folder.
How do I uninstall?
Windows: Settings → Apps → Installed Apps → MoonJoy → Uninstall. macOS: Drag MoonJoy.app to trash. Linux: sudo dpkg -r moonjoy. Config is at %APPDATA%\MoonJoy (Windows) or ~/.config/moonjoy (Linux/macOS).

Ready to Transform Your Desktop?

Get MoonJoy free — stunning space images and live mission data on your desktop, lock screen, and screensaver.

Screenshot preview