Lake Tahoe at sunrise Lake Tahoe in daylight Lake Tahoe at dusk Lake Tahoe at night under stars

Any wallpaper.
On the sun's schedule.

A tiny, open-source macOS menu bar app that switches system aerials or your own images by time, sunrise and sunset.

Download for macOS 26 Free · Open source · Native Swift · Under 10 MB
  1. 06:04Morningsunrise
  2. 08:04Daysunrise +2 h
  3. 18:06Eveningsunset −30 min
  4. 19:36Nightsunset +1 h

One panel in the menu bar. No Dock icon, no window.

The timeline: a 24-hour daylight bar above today's slots with their resolved times. The timeline: a 24-hour daylight bar above today's slots with their resolved times.
Today at a glance: a daylight bar from dawn to dusk, and every switch marked on it. Add as many slots as you like.
A slot editor with Clock, Sunrise and Sunset triggers. A slot editor with Clock, Sunrise and Sunset triggers.
A fixed time, or sunrise and sunset with an offset.
The wallpaper picker showing system aerials. The wallpaper picker showing system aerials.
All 156 system aerials, or any image on disk.

Set it once. Forget it.

  • Any wallpaperAll 156 system aerials, a folder of stills, or any image on disk. HourGlow sells nothing; it schedules what you already have.
  • Any number of slotsTwo, four or twenty-four. Each fires at a fixed time, or at sunrise or sunset with an offset.
  • Sun times computed on your MacThe NOAA algorithm runs locally and follows the seasons. No network, no account.
  • Catches up after sleepLid closed through a switch? On wake it applies the wallpaper that should be showing.
  • No pollingNo background loop. It wakes once at the next switch, then sleeps.
  • Free, open source, native SwiftApache 2.0, zero third-party code, under 10 MB.

Nothing hidden. Here is exactly what it does.

It changes one file, and you can see every byte it sends.

  • Edits one filemacOS keeps wallpaper settings in Index.plist under your Application Support folder. HourGlow rewrites the wallpaper entry there and restarts WallpaperAgent. Nothing else on disk changes.
  • Backs it up firstEvery write begins by copying that file to Index.plist.hourglow.bak next to it. No backup, no write. Its own files live in ~/Library/Application Support/HourGlow.
  • Needs no permissionsLocation is optional, asked once, stored as a plain latitude and longitude; pick a city instead if you'd rather not. Launch at login is a normal login item you can switch off in System Settings.
  • Sun times stay on your MacThe NOAA solar position algorithm runs locally. No sun service, no account, no telemetry.
  • Network requests, explainedUpdate checks contact GitHub daily while automatic updates are on; installation downloads and verifies the archive. Place searches stay offline when the built-in list has matches, and otherwise query Apple MapKit after a short typing pause. Optional location fixes use macOS Location Services; MapKit also names changed or unnamed coordinates. Automatic location has its own switch. No Nominatim, telemetry, or account.
  • Open sourceApache 2.0. Read the code, build it yourself in one command, or report a problem privately.

Install in a minute.

Not notarized, so macOS asks once. Then it just runs.

One download for Apple silicon and Intel Macs. Requires macOS 26 (Tahoe) or later.

  1. Download, unzip, drag to Applications.
  2. Let it through once.
    $ xattr -dr com.apple.quarantine /Applications/HourGlow.app
  3. Open it.

    The Tahoe schedule is already set up.

Also a command line.

Same engine, headless.

$ hourglow-cli now
$ hourglow-cli simulate 2026-12-21
$ hourglow-cli import ~/Pictures/zhangjiajie
$ hourglow-cli agent install

Let the day change your desktop.

Download HourGlow

macOS 26+ · Apple silicon & Intel · English and 简体中文