Bring your desktop to life.
Hikari is a native live wallpaper app for macOS. Import a video, use it across your connected displays, and optionally apply the selected video through the macOS Native Lock Screen path.
Hikari release builds are ad-hoc signed and are not Apple-notarized.
- AVFoundation video validation, managed copying, metadata, duplicate checks, and thumbnails
- Low-overhead looping playback across connected displays and Spaces
- Fill and Fit scaling, mute, battery pause, launch at login, and library management
- Menu bar playback and content controls
- Automatic macOS 26 Native Lock Screen updates when the selected video changes, plus transaction recovery and Restore
- Built-in and custom app/menu bar icons
- Checksum-verified Hikari updates from the normal
vX.Y.Zrelease channel
- macOS 15 or later
- Xcode 16 or later
- XcodeGen
The full Xcode installation is required for the Xcode scheme and XCTest suite.
Native Lock changes undocumented macOS wallpaper/Aerial state. Formats may change without notice, and a failed operation can require recovery. macOS 15 may request administrator authorization; macOS 26 uses the current user's Aerial store.
Keep a verified backup and do not use this feature on a managed or irreplaceable Mac. Hikari creates transaction journals and requires Restore before an app update, or before changing a recovery-required transaction. On macOS 26, selecting a different video automatically replaces an active Aerial transaction. An active transaction may create a root-readable playback copy; other local accounts on the Mac may be able to read it while Native Lock is active.
Download Hikari-macOS-portable.zip from the
latest release, unzip it,
and move Hikari.app to Applications.
The app is ad-hoc signed, not notarized. On first launch, Control-click
Hikari.app, choose Open, and confirm. Verify the download first:
shasum -a 256 -c Hikari-macOS-portable.zip.sha256Hikari uses ~/Library/Application Support/Hikari as its canonical library.
On first launch it merges missing content, settings, icons, and Native Lock
transactions from a detected pre-Hikari support root, then moves that source
directory to a recoverable .archived sibling. Existing canonical files win
conflicts; no source video is deleted.
brew install xcodegen
xcodegen generate
open Hikari.xcodeprojSelect the Hikari scheme. From the command line:
xcodebuild \
-project Hikari.xcodeproj \
-scheme Hikari \
-configuration Debug \
-destination 'platform=macOS' \
CODE_SIGNING_ALLOWED=NO \
buildFor a local ad-hoc installation:
scripts/build-hikari.shThe script builds and installs /Applications/Hikari.app. On macOS 26,
changing the selected video in General automatically updates the Native Lock
Screen Aerial. Restore is shown in General only while a transaction needs
recovery. The script does not install a daemon or persistent privileged helper.
swift test
xcodebuild \
-project Hikari.xcodeproj \
-scheme Hikari \
-destination 'platform=macOS' \
CODE_SIGNING_ALLOWED=NO \
testNormal vX.Y.Z tags build and publish Hikari only as
Hikari-macOS-portable.zip with its SHA-256 checksum. Non-tag builds run
validation and tests; packaging and publishing are tag-only.
Sources/
├── HikariApp/ Hikari menu bar UI, settings, and wallpaper windows
├── HikariCore/ Models, stores, importer, policy, and renderer
├── HikariNativeLock/ Native Lock transaction, backup, apply, and restore
└── HikariNativeTool/ One-shot administrator-authorized system operation
Archive/HikariLegacy/ Retired Hikari screen-saver and event-tap sources
Tests/
├── HikariCoreTests/
└── HikariNativeLockTests/
- Video support follows the AVFoundation capabilities of the installed macOS
- The same video is shown on every display; per-display content is not supported
- No playlist, online gallery, or per-display content
- Releases are ad-hoc signed and not Apple-notarized
- Native Lock uses undocumented macOS behavior and requires hands-on recovery testing on each supported macOS major version
See CONTRIBUTING.md. Security reports should follow SECURITY.md.
Hikari is released under the MIT License.