Merge Tahoe & Golden Gate macOS wallpapers to dynamic video wallpapers with a single click. Free, open source, native, signed & notarized macOS app (1.5 MB).
  • Swift 97.9%
  • Shell 2.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-17 16:55:01 +02:00
.forgejo/issue_template Add bug report template 2026-09-29 12:45:48 +02:00
docs Update demo video 2026-10-17 16:52:58 +02:00
Native Aerials Count the built-in Golden Gate Sunset as downloaded 2026-10-17 16:48:55 +02:00
Native Aerials.xcodeproj Set the version to 1.0.1 2026-10-17 16:55:01 +02:00
scripts Add source and license links to the About window 2026-09-28 11:24:08 +02:00
Tests Count the built-in Golden Gate Sunset as downloaded 2026-10-17 16:48:55 +02:00
.gitattributes Add reproducible release scripts 2026-09-27 18:34:37 +02:00
.gitignore Add command line interface 2026-09-26 16:42:14 +02:00
LICENSE Add Xcode project 2026-09-26 16:41:53 +02:00
README.md Set the version to 1.0.1 2026-10-17 16:55:01 +02:00
REPRODUCIBILITY.md Set the version to 1.0.1 2026-10-17 16:55:01 +02:00

Native Aerials

Merge macOS video wallpapers into a single dynamic automatic video aerial. Notarized, reproducible, no setup.

Download → drag to Applications → launch. To uninstall, drag to Trash.

How it works under the hood
  • A patched copy of Apple's aerial catalog in ~/Library/Application Support/com.apple.wallpaper/aerials/custom/ that adds only the sun data for the combined sets
  • AerialManifestLocalPathOverride and AerialManifestForceLocal in the com.apple.wallpaper.aerial preferences, which point the wallpaper at that copy
  • Your saved wallpaper choice, followed by a restart of the wallpaper processes
  • ~/Library/LaunchAgents/dev.hloth.native-aerials.agent.plist, which runs a copy of the app from ~/Library/Application Support/Native Aerials/ whenever the app, the videos or Apple's catalog change
Command line usage (advanced)
"/Applications/Native Aerials.app/Contents/MacOS/Native Aerials" --help
# usage: "Native Aerials" <enable|disable|status> [--dry-run DIR]
#        "Native Aerials" sync [set ID] [--dry-run DIR]
#        "Native Aerials" select <asset ID | set ID> [--dry-run DIR]

#   enable     combine every set whose four videos are on disk into one wallpaper with an
#              Automatic option, restart the wallpaper processes, add the background helper
#              and open Wallpaper settings; works only from /Applications or ~/Applications
#   disable    undo everything and put a single-video wallpaper choice back; the next enable
#              brings Automatic back wherever that video is still the choice
#   sync       combine sets that became complete, split sets that lost a video, rebuild after
#              macOS updates (what the background helper runs); with a set ID, also pick
#              that set's Automatic item in the same restart
#   select     set the wallpaper on every desktop; a set ID picks its combined Automatic item.
#              A single video must be on disk: macOS downloads an aerial only when it is
#              picked in System Settings > Wallpaper
#   status     report what is installed, including every set ID and asset ID, read-only
Build from source code (advanced)

You need Xcode 27 on macOS 27. The tests run in dry-run sandboxes and don't touch your settings:

xcodebuild -project "Native Aerials.xcodeproj" -scheme "Native Aerials" -destination platform=macOS -derivedDataPath /tmp/native-aerials-build test

Releases are reproducible, signed & notarized; see REPRODUCIBILITY.md.

License

MIT