A calendar that lives
where you already look.

Glance puts today's date in your menu bar. Click it and a month grid and agenda drop down underneath — your events, your meeting links, in four Catppuccin flavours.

Requires macOS 26 or later. Signed with a Developer ID, notarized by Apple, and it updates itself.

The Glance popover: a March 2026 month grid with coloured event dots, above an agenda listing Standup, Write release notes and Coffee with Sam on Monday 9 March.
The real popover. Events shown are invented.
Reads EventKit — the calendars already on your Mac
Network None. No outgoing-connection entitlement
Accounts No sign-in, no telemetry
Built with Swift 6, AppKit, one dependency

Small app, sharp edges filed off

A menu bar date you can read at a glance

Drawn as a template image and placed in real menu bar coordinates, so the box is centred in the bar instead of sitting a point high. Outline or filled.

Meetings become one click

Zoom, Meet, Teams and Webex links are found in an event's location, URL or notes. The agenda grows a join button that opens the native app when you have it, and highlights the call that is current or about to start. ⌘J joins.

Four flavours, plus the system's own

Latte, Frappé, Macchiato and Mocha from the Catppuccin palette, a Catppuccin auto mode that follows light and dark, or plain macOS colours.

Actually edits events

Create, change and delete. Deleting a repeating event asks whether you mean this one or all future ones. Declined events stay hidden.

Keyboard first, mouse welcome

Arrows move by month and year, ⇧+arrows or h j k l move the selection, t jumps to today, return makes an event. Or two-finger swipe the grid.

Honest about updates

Checks once a day. When one is waiting the menu item says so and the icon gets a dot, rather than throwing a window in front of your work.

It cannot phone home, because it has no network

Glance reads your calendars through macOS and nothing else. It's sandboxed without the outgoing-connections entitlement, so there is no code path that could send anything anywhere.

Updates are the one exception, and they don't run inside the app: Sparkle's separate Downloader service fetches the update feed and archive from this project's GitHub Releases, with system profiling off. It learns nothing about you.

script/check-offline.sh and the offline guard tests fail the build if that ever changes.

Glance.entitlements
<!-- the only one -->
<key>com.apple.security.personal-information.calendars</key>
<true/>

<!-- no com.apple.security.network.client -->

Glance is free and MIT-licensed

No subscription, no upsell, no "pro". If it earns a place in your menu bar and you feel like it, you can buy me a coffee.

Buy me a coffee

Reasonable questions

Does it replace the Calendar app?

No. It reads the same calendars through EventKit, so anything you change in one shows up in the other. It's a faster way to look at the next week and join the next call, not a replacement for a full calendar.

Which macOS versions are supported?

macOS 26 and 27 — the current release and the one before it. Older releases aren't supported, and there's no build for them.

Is it really offline?

Yes. The app has no network entitlement, so it has no way to make a connection even if it wanted to. The build fails if that changes.

What happens if I stop paying for the domain?

Nothing. The app is on GitHub Releases and updates come from there, so the domain is only this page.

How do I uninstall it?

Quit it, drag it to the Trash, and turn off Open at login first if you enabled it. There's no helper process left behind.