Thanks to visit codestin.com
Credit goes to github.com

Skip to content

tathagat22/aura-wallpaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✦ Aura

Free, open-source live wallpaper for macOS

Play videos, GIFs, and YouTube streams as your desktop wallpaper — including the lock screen.
No subscription. No account. No tracking. Just your Mac, looking alive.

macOS Swift License Release Downloads

Aura in the menu bar

Download · Build from Source · Contributing


Features

  • Live desktop wallpaper — MP4, MOV, M4V video files play seamlessly on your desktop, behind all your icons and windows
  • Animated GIFs — Frame-accurate GIF playback using native CoreAnimation, zero CPU overhead
  • YouTube URLs — Paste any YouTube link and it streams directly as your wallpaper (no download, no yt-dlp)
  • Lock screen / screen saver — Ships with a .saver bundle so the same wallpaper plays when your Mac locks
  • Multi-display — Each monitor gets its own independent wallpaper
  • Menu bar app — Lives quietly in your menu bar with no Dock icon
  • Auto-pause — Pauses automatically when your display sleeps or screen locks
  • Launch at Login — Optional, one toggle in Preferences
  • Zero dependencies — No Electron, no frameworks, no package manager. Pure Swift + AppKit.

Download

Latest Release — v1.0.0

Download Description
Aura-1.0.dmg Main app + screen saver bundle

System requirement: macOS 13 Ventura or later (Apple Silicon & Intel)

First launch note: Aura is not signed with an Apple Developer certificate (that costs $99/year — this app is free). On first launch, macOS will block it. To open: right-click → Open → Open.


Installation

App (Live Desktop Wallpaper)

  1. Download Aura-1.0.dmg from the link above
  2. Open the DMG and drag Aura.app into your Applications folder
  3. Launch Aura — a ✦ sparkle icon appears in your menu bar
  4. Click it → Set Wallpaper… and pick any .mp4, .mov, or .gif

Screen Saver (Lock Screen)

  1. Inside the DMG, open the AuraSaver folder
  2. Double-click AuraSaver.saver — macOS will ask to install it
  3. Go to System Settings → Screen Saver and select Aura
  4. The same video you set as wallpaper will play on your lock screen

Usage

Menu Bar

Click the ✦ icon in your menu bar to access:

Option Description
Set Wallpaper… Open file picker — MP4, MOV, M4V, GIF
Pause / Resume Toggle playback on all displays
Preferences… YouTube URL input, launch-at-login, mute
Quit Aura Stop wallpaper and exit

YouTube Wallpaper

  1. Open Preferences → Displays
  2. Paste any YouTube URL into the field (supports youtube.com/watch, youtu.be, Shorts, embeds)
  3. Click Apply — the video streams directly as your wallpaper

Supported URL formats:

https://www.youtube.com/watch?v=dQw4w9WgXcQ
https://youtu.be/dQw4w9WgXcQ
https://www.youtube.com/shorts/abc123

Build from Source

Requirements

  • macOS 13 Ventura or later
  • Xcode 15 or later
  • XcodeGen (brew install xcodegen)

Steps

git clone https://github.com/tathagat22/aura-wallpaper.git
cd aura-wallpaper

# Generate the Xcode project from project.yml
xcodegen generate

# Open in Xcode
open Aura.xcodeproj

In Xcode, set your Development Team in both the Aura and AuraSaver targets, then press Cmd+R to run.

Note: The .xcodeproj is not committed to git — it's generated from project.yml by XcodeGen. This keeps diffs clean and avoids merge conflicts in the project file.

Building the DMG

# Build both targets
xcodebuild -project Aura.xcodeproj -scheme Aura -configuration Release \
  CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO build

xcodebuild -project Aura.xcodeproj -scheme AuraSaver -configuration Release \
  CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO build

# Package into DMG
PRODUCTS="$(xcodebuild -project Aura.xcodeproj -scheme Aura -showBuildSettings \
  -configuration Release 2>/dev/null | grep ' BUILT_PRODUCTS_DIR ' | awk '{print $3}')"

mkdir -p /tmp/AuraDMG/AuraSaver
cp -R "$PRODUCTS/Aura.app" /tmp/AuraDMG/
cp -R "$PRODUCTS/AuraSaver.saver" /tmp/AuraDMG/AuraSaver/
ln -sf /Applications /tmp/AuraDMG/Applications

hdiutil create -volname "Aura" -srcfolder /tmp/AuraDMG -ov -format UDZO ~/Desktop/Aura-1.0.dmg
rm -rf /tmp/AuraDMG

How It Works

Aura uses 100% public Apple APIs — no private frameworks, no hacks.

Desktop Wallpaper

An NSWindow is created for each display with its level set to CGWindowLevelForKey(.desktopWindow) + 1. This places it above the macOS desktop background but below Finder's icon layer. The window is borderless, ignores mouse events, and joins all Spaces.

window.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.desktopWindow)) + 1)
window.collectionBehavior = [.canJoinAllSpaces, .stationary]
window.ignoresMouseEvents = true

Lock Screen / Screen Saver

Aura ships a .saver bundle built with ScreenSaver.framework. Installing it in System Settings → Screen Saver makes it play when your Mac locks. Both the app and saver share config via an App Group (group.com.aura.app).

YouTube Streaming

No yt-dlp, no external tools. Aura calls YouTube's internal Innertube API directly to fetch a stream URL, then hands it to AVPlayer. The video streams without downloading.


Project Structure

Aura/                            ← Main app target (menu bar agent)
├── App/
│   ├── AppDelegate.swift        ← System sleep/wake observers
│   ├── MenuBarController.swift  ← NSStatusItem + menu
│   └── main.swift               ← Entry point
├── Wallpaper/
│   ├── WallpaperWindow.swift    ← NSWindow positioned at desktop level
│   ├── WallpaperView.swift      ← NSView hosting playback layers
│   └── WallpaperManager.swift  ← One window per display, screen change handling
├── Playback/
│   ├── VideoPlayer.swift        ← AVPlayer with infinite loop
│   ├── GIFPlayer.swift          ← CAKeyframeAnimation from GIF frames
│   └── YouTubeExtractor.swift  ← Innertube API → stream URL
├── Preferences/
│   ├── PreferencesWindowController.swift
│   └── PreferencesView.swift   ← SwiftUI: General + Displays tabs
└── Utilities/
    ├── LoginItemManager.swift   ← SMAppService launch-at-login
    └── PowerMonitor.swift       ← IOKit battery/AC detection

AuraSaver/                       ← Screen saver bundle (.saver)
└── AuraSaverView.swift          ← ScreenSaverView + AVPlayerLayer

Shared/                          ← Compiled into both targets
├── AppGroupConfig.swift         ← Shared UserDefaults wrapper
└── MediaSource.swift            ← Enum: localFile | gif | youtube

project.yml                      ← XcodeGen project spec (source of truth)

Contributing

Contributions are welcome! Please read CONTRIBUTING.md before opening a PR.

Roadmap

  • Pause on battery power
  • Per-display independent wallpapers (UI)
  • Playlist / shuffle mode
  • Signed & notarized release build

License

MIT — see LICENSE for details.


Made with ♥ on macOS · No Electron was harmed in the making of this app

About

Free, open-source live wallpaper app for macOS. Play videos, GIFs, and YouTube streams as your desktop — including the lock screen.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages