Skip to content

Repository files navigation

Omacy
Omacy

A macOS screensaver that plays Omarchy’s ASCII text-effects loop.
Your logo, or any art, animated by the 37 Terminal Text Effects.
Download · Install · Status · Build · Contributing

animation.mp4

Features

  • A real screensaver. Host app plus a com.apple.screensaver appex, listed in System Settings. Not a preview window pretending to be idle.
  • The Omarchy loop. All 37 Terminal Text Effects, running on a Metal cell grid. Same motion as the Linux screensaver, including the default wordmark.
  • Your art. Paste ASCII, convert a PNG or SVG to block or Braille, or let an agent write the public text file directly.
  • Install from the host. Drop Omacy.app in /Applications, register the extension, enable it. The full configuration editor lives in the app because the converter needs NSOpenPanel.

See architecture, FFI, and parity for the engine contract.

Omacy host app

Install

Download the latest .dmg from the releases page, open it, and drag Omacy to your Applications folder.

Then open Omacy, register the screensaver, and enable it from the app or in System Settings → Screen Saver.

The host will not register the extension from a random folder. Mixing Xcode DerivedData and /Applications makes PlugInKit sticky — pick one.

Builds are signed and notarized by Zenjoy BV. Requires macOS 15 (Sequoia) or later.

Once installed, Omacy offers user-approved, signed updates from GitHub Releases via Sparkle.

Status

Omacy is in active development. The Rust engine is tested in CI. The host app and screensaver extension compile on macOS 26.

Idle activation and listing next to Apple’s own savers still need a signed install on a real Mac. That gate is tracked in docs/macos-gates.md.

The appex uses ScreenSaver.framework classes Apple has not documented. Aerial does the same. An OS update can break it.

Requirements

  • macOS 15 (Sequoia) or later
  • Apple silicon (arm64); Intel and universal builds are not supported
  • Xcode 26 (PaperSaver 0.2.0 needs Swift 6.2)
  • Rust 1.88 (rust-toolchain.toml)

Configuration and agents

Omacy's public configuration is deliberately made of ordinary files:

~/.config/omacy/screensaver.txt
~/.config/omacy/settings.json

The host app and your own scripts or agents can write them. The screensaver extension only reads them. Each file is validated independently, with a process-private last-known-good cache in each sandbox and bundled defaults as fallbacks. Changes take effect at the next effect boundary; Omacy does not run a filesystem watcher.

An agent can drive the art by atomically replacing screensaver.txt with complete UTF-8 ASCII art. It may also select an effect pool or adjust presentation settings in settings.json. See the agent workflow and the exact loading, migration, and transition contracts in architecture.

Build

Engine tests:

cargo test --workspace --all-targets
cargo xtask header check
scripts/verify-ttfx-vendor.sh

Mac host and screensaver:

xcodebuild -project apps/Omacy/Omacy.xcodeproj -scheme Omacy \
  -destination 'generic/platform=macOS' build

The Xcode build phase runs apps/Omacy/scripts/build-engine.sh, which builds libomacy_engine.a for aarch64-apple-darwin and links it into the app and the appex.

The C header is generated with pinned cbindgen 0.29.4 and committed at crates/omacy-engine/include/omacy.h. Vendored engine provenance is recorded in vendor/ttfx/PIN; ttfx is a checked-in patched snapshot, not a submodule. Default art is assets/branding/screensaver.txt.

Host-specific notes live in apps/Omacy/README.md. Screensaver appex background is in apps/Omacy/BACKGROUND.md.

Contributing

Contributions are welcome. Start with CONTRIBUTING.md.

Credits

The motion is Terminal Text Effects by ChrisBuilds, running on ttfx, the Rust port Omarchy ships. Both are MIT. The Linux wrapper this copies is Omarchy, also MIT. The host/appex path follows Aerial and AppexSaverMinimal. The bundled font is Fairfax HD by Kreative Software, SIL OFL.

License

Omacy is available under the MIT License. See LICENSE and NOTICE. Font: assets/fonts/OFL.txt.

Trademarks

The MIT license covers the code. It does not grant rights to use the Omacy name, logos, icons, or other branding for your own distribution.

See TRADEMARKS.md for branding rules.

About

A macOS screensaver that plays Omarchy’s ASCII text-effects loop.

Topics

Resources

Contributing

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages