What It Does

CalendarUpcoming sits silently in the menu bar as a plain calendar icon. When an event is approaching, the icon changes colour and pulses with a glow to get your attention.

Click the icon to see a popover listing all upcoming events with time remaining, clock time, and calendar name with a colour bar.

Calendar Support

Monitors all calendars registered with macOS, including:

All-day events and declined events are automatically filtered.

Controls

ActionResult
Left-click iconOpen popover with upcoming events
Right-click iconMenu (About, Settings, Check for Updates, Quit)
escape / click outsideClose popover

Settings

Right-click the icon and choose Settings… to configure:

Auto-updates are handled by Sparkle. Use the “Check for Updates…” menu item to check on demand; Sparkle’s prompt offers an “Automatically download and install updates in the future” checkbox the first time an update is available. CalendarUpcoming checks for new versions automatically once a day in the background.

Installation

Two formats on every release — both signed and notarised, pick whichever suits:

On first launch, grant Full Access to calendars when prompted.

Permissions

Calendar — Full Access is required. On first launch, macOS will prompt for permission. Grant Full Access (not Write Only).

If the popover shows “Full calendar access needed”, go to System Settings → Privacy & Security → Calendars, find CalendarUpcoming, and switch from Write Only to Full Access.

Building from Source

Requires Xcode and a valid Apple developer certificate (the app must be code-signed for calendar permission tracking to work).

  1. Clone the repo: git clone https://github.com/PerpetualBeta/CalendarUpcoming.git
  2. Open CalendarUpcoming.xcodeproj in Xcode
  3. Build with commandB or run with commandR

Requirements

macOS 13 (Ventura) or later.