Eye breaks
The 20-20-20 habit, made keepable. Both intervals are yours to set.
Blink. Breathe. Look away. Let your eyes relax.
Focus works better with recovery. Look into the distance for a moment.
Ten lines, never the same one twice in a row.
A macOS menu bar app
A menu bar app for screen breaks. The edges of your screen warm before each one, so the break arrives instead of interrupting.
One cycle
No window, no badge, no sound — just the mark in the menu bar. Step away and that already counts as the break.
A minute out, they darken inward and a glow gathers low. Snooze, skip, or ignore it — the break still arrives, you just saw it coming.
The screen blurs behind a countdown. When it fades, every window is exactly where you left it.
Two kinds
The 20-20-20 habit, made keepable. Both intervals are yours to set.
Blink. Breathe. Look away. Let your eyes relax.
Focus works better with recovery. Look into the distance for a moment.
Ten lines, never the same one twice in a row.
One small movement instead — neck, shoulders, back, hands, whole body — with a drawn figure to copy.
Roll your shoulders back a few times, slowly.
Stand if that suits you, or shift how you are sitting.
Every prompt names a movement, never an outcome. All of them work sitting down.
Quiet by design
Pauses during calls, screen sharing and fullscreen apps.
Leave the keyboard long enough and that was the break.
Gentle, Balanced or Strong — how far the fade goes.
Five minutes to until tomorrow, all one click deep.
After three skips, one adjustment — offered in the menu, never over your work.
No window, no Dock icon, no notifications. Starts at login.
Privacy
Settings and daily counts live in your Mac's own preferences. No account, nothing to sign in to.
The only network request Horizon ever makes is Check for Updates, and only when you ask for it.
Not settings you can switch off — code that was never written.
Horizon 1.1 (4) · 2.3 MB · macOS 13 or newer · Apple silicon and Intel
Signed and notarized by Apple
SHA-256 22bb2a84510a8bdbfbed72392c13f096a41835e4ed8360693d33ae006bace67c