Skip to content

Repository files navigation

Chronoface

A minimalist analog clock / watch face screensaver for macOS: 16 dial themes, luminescent night mode, live weather, and a matching web demo. Free and open source; a no-cost alternative to paid clock screensavers like Bauhaus Clock or Fliqlo.

macOS 13+ Swift 5 License: MIT

All 16 Chronoface dial themes

Links

Features

  • 16 dial themes — from classic white and noir to pastel pistachio, lavender, salmon and ocean.
  • 3 movement styles — smooth Quartz sweep, ticking Mechanical, and a clean Digital second hand.
  • Night mode with lume — 14 glow colors (amber, tritium-green, ice-cyan, …) for hour markers and hands when it gets dark.
  • Day / Night / Auto — auto mode computes local sunrise/sunset from your city (NOAA solar equations, no network calls).
  • Optional date complication — tiny date window that matches the theme.
  • Adjustable glow intensity in the settings panel.
  • Custom background: bring your own wallpaper. Pick any image, or pull your current desktop background, with an adjustable dim that keeps the dial in focus.
  • Native macOS screen saver (.saver bundle) plus a pixel-identical web version sharing the same geometry.

Installation (screen saver)

From a release build (recommended)

  1. Download the latest Chronoface.pkg from Releases and run it.
  2. On macOS 14 Sonoma and later the installer puts Chronoface.app in /Applications (with the screen saver extension) and opens it automatically so you can set theme, movement, night mode and city right away.
  3. Enable it in System Settings → Screen Saver → Chronoface.
  4. To change settings later, open Chronoface.app again (there is no "Options…" button in System Settings: the modern screen saver extension format has no API for one, so configuration lives in the app, the same approach Aerial 4 uses).

On macOS 13 Ventura the same installer drops a legacy Chronoface.saver into /Library/Screen Savers/ instead, and there you do get a Screen Saver Options… button in System Settings.

Legacy .saver only

Prefer no app? Download Chronoface.saver.zip from Releases, unzip and double-click Chronoface.saver. This installs only the legacy bundle (best on macOS 13; on Sonoma the app + extension build behaves better).

Build from source

Requires Xcode 15+ on macOS 13+.

open Chronoface/Chronoface.xcodeproj

Build the Chronoface target (⌘B). Xcode drops Chronoface.saver into the build directory — double-click it to install.

Web version

The entire clock is reimplemented in vanilla JS/Canvas so the landing page and live demo are visually identical to the native screen saver. Source lives in web/html/:

  • index.html — full interactive demo with the settings panel.
  • landing.html — marketing landing page (same clock, simpler chrome).
  • chronoface.js — rendering logic mirroring ChronofaceView.swift.
  • style.css — shared styles.

Any visual change to the screen saver should be mirrored in chronoface.js and vice versa.

Repository layout

Chronoface/
  Chronoface/ChronofaceView.swift   # entire screen saver (themes, rendering, settings UI)
  Chronoface/thumbnail.png          # preview shown in System Settings
  Chronoface.xcodeproj/             # Xcode project
web/html/                           # web demo + landing (mirrors the Swift rendering)
generate_thumbnail.swift            # regenerates thumbnail.png from the native drawing code
Jenkinsfile                         # CI/CD for the web version (chronoface.perek.rest)

Updating the preview thumbnail

swift generate_thumbnail.swift

This re-renders Chronoface/Chronoface/thumbnail.png from the same drawing primitives the screen saver uses, so the System Settings preview always matches the current default theme.

Regenerating marketing assets

swift generate_marketing_assets.swift

Produces two files from the same drawing code as the screen saver:

  • web/html/og-image.jpg - 1200x630 social card (Noir dial + amber lume), referenced by og:image / twitter:card on the landing page.
  • web/html/themes-grid.jpg - 4x4 grid of all 16 dial themes. Used both as the README hero above and as the visual for the "Colour Palette" section of the landing page.

License

MIT © Serhii Perekrestov

About

Analog watch face screensaver for macOS. 16 dial themes, luminescent night mode, live weather. Free, open source.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages