v3.0 · a major refresh for macOS Tahoe
Redesigned menu, smarter sleep timing, recurring schedules, and a polished settings experience.
Recurring schedules
Define schedules like "every weeknight at 23:00, 60 min timer" and Sleepr starts the matching timer automatically. Guided 3-step flow, quick-select for Weekdays / Weekends / Every day, live plain-language summary, and a swipe-free toggle/edit/delete.
Floating end-of-timer alert
A HUD-style alert floats over fullscreen apps a few minutes before the timer ends, with extend / cancel buttons and a live remaining-time readout. Configurable lead time (1–10 min) and extension duration (1–120 min).
Persistent timer across restarts
Running timers survive app quits and system reboots: the absolute target time is restored on relaunch.
Media-aware suggestion
When something is playing in Apple Music, Apple Podcasts, or any media app, Sleepr offers a one-tap "sleep when this finishes" preset. Uses the mediaremote-adapter bridge to work around macOS 15.4's Now Playing API restriction.
Menu bar progress animation
Three styles you can pick from in Settings: Depleting Ring, Filling Moon, Shrinking Pie. Independent toggle from the text countdown, use either, both, or neither. Option to hide the icon while the timer runs.
Shortcuts.app & Siri (App Intents)
- Start Sleep Timer (duration in minutes)
- Start Sleep Timer at Time (specific clock time)
- Stop Sleep Timer
- Get Sleep Timer Status
Liquid Glass redesign
Complete UI refresh for macOS Tahoe. Control Center–style menu panel, refreshed preset buttons, dedicated active-timer view with large countdown + progress bar + cancel. Right-click also opens the menu.
Customizable preset timers
Each of the four presets is editable from 1 to 480 minutes in the new Timers tab in Settings, with a Reset to Default option.
Settings polish
Chromeless window: transparent titlebar, segmented text-only tab bar, native rounded corners, close button only. Esc closes the window. Re-clicking the Settings menu entry brings the window forward even when it's behind another app. Four panes: General, Timers, Alerts, About.
Localization
Full localization in 11 languages: English, German, Spanish, French, Italian, Japanese, Korean, Portuguese (Brazil), Portuguese (Portugal), Simplified Chinese, Traditional Chinese.
Under the hood
- Swift Testing framework with 57 tests covering timer logic, cross-midnight calculation, schedules, Now Playing parsing, and App Intents
- Migrated from
strings.jsontoLocalizable.xcstrings - Cleaned-up entitlements: no longer requires notification capabilities, since the floating alert window replaces native notifications
v2.1
- Custom timer with absolute time picker ("Sleep at HH:MM")
- Cross-midnight timer support
- Window position fix
- Extend the timer from notification has been fixed
- The notification is now properly translated in French
- Disabled state of buttons is now more contrasted
- The custom timer interface has been reviewed to be more comprehensible
v2.0
- Redesigned application with a new interface
- Settings window to customize notification and timer display
- Translated the app in French
v1.x
- 1.4 · Hide the icon from the Dock
- 1.3 · Custom timer option
- 1.2 · Extend the timer directly from the notification
- 1.1 · Notification when the last 10 min start
- 1.0 · Initial release