Profile
Back to NewsBack
GitHub Trending 4 min
Reader Mode
AerialScreensaver/Aerial: Aerial app and screensaver for macOS

AerialScreensaver/Aerial: Aerial app and screensaver for macOS

9 hours ago

Aerial 4

Total downloads</a> Latest release</a>

!Aerial screensaver showing weather, clock, and now-playing overlays atop a sunset video

The Apple TV screensaver for your mac, now with optional wallpaper continuity. With optional overlays, multi-monitor support, time-of-day adaptation, live camera feeds support and many more features.

Check-out the website for more info : aerialscreensaver.github.io

Requirements

  • macOS 26 (Tahoe) or later.
  • Xcode 16 or later to build from source.
For earlier macOS versions, check the download page to see the last supported release.

Something not working ?

Bugs happen, and some features may not work as intended.

First, make sure you check out the FAQ as it contains a lot of information about limitations and how to use some of the more niche features.

If you don't find your answer, you can check the existing issues and post your own if nothing match. Or you can reach out on our Discord server in the #support channel.

Whichever way you pick, remember Aerial is very much a one-person passion project. Be kind.

Interested in how it works? See the technical info below.

App Extension

With version 4.0, the screensaver is distributed as an App Extension, bundled inside Aerial.app. Launching the app registers the screensaver which can then be found in System Settings, ready to be used.

Screensaver App Extensions were introduced by Apple in macOS 10.15 (yes, Catalina!) and bring a lot of improvements, including a much improved security model compared to the old, unsafe, plugins that shared their host's memory. Screensaver App Extensions run in their own sandboxed process instead. They also fix many issues that have crept in over the years with the old .saver plugin format and its legacyScreenSaver.appex compatibility layer.

If you want to make your own macOS screensaver App Extension, I recommend you check AppexSaverMinimal first. It's a minimal working sample, with a clear documentation of what works, what changed from the old API, and what you should adapt if you already have a .saver project. Porting an existing .saver project is fairly easy as much of the old API is retained, with a few caveats.

Version 4.1 of Aerial went one step further and moved to the com.apple.wallpaper extension point, backed by Apple's private WallpaperExtensionKit framework. Those extensions register as both a dynamic wallpaper and a screensaver. This is what enables the seamless continuity that Aerial 4 provides. It is however a more complex and undocumented API, with a very different instance-based lifecycle and remote CAContext rendering.

To enable wallpapers and screensavers, Aerial relies on PaperSaver. You can use this library to set your own screensaver as the old defaults plist configuration no longer works.

Build from source

git clone https://github.com/AerialScreensaver/Aerial.git
cd Aerial
open Aerial.xcodeproj

In Xcode, pick the Aerial scheme and run (⌘R).

Note that ScreenSaver/Source/Models/API/APISecrets.swift ships with a blank OpenWeather key in the public source. The weather overlay won't display data unless you put your own key. Everything else in the app works without it.

Thank you

Weather overlays are provided thanks to Openweather who has offerred free support for Aerial for many years now ! Many thanks to them !

OpenWeather

Aerial relies on a few great open source projects, you should check them out :

Thanks to those maintainers and their contributors !

And finally, to everyone who has used, supported or contributed to Aerial, thanks for your continued support over those long years!

Contributing

Contributions welcome, but please open an issue first for substantial changes so we can discuss the approach before you put time into it.

License

MIT — see LICENSE.

Chat with me