A lightweight macOS menu bar app that reminds you to take breaks. Two independent timers run simultaneously — short eye breaks and longer regular breaks.
No Xcode required. Built with Swift, AppKit, and SwiftUI.
- Two simultaneous timers — micro (eyes) and macro (regular breaks)
- Menu bar countdown — always see how long until your next break
- Full-screen overlay with smooth fade-in/fade-out
- Skip any break with one click
- Pause / Resume from the menu bar
- Sleep-aware — timers pause when your Mac sleeps
- Configurable — adjust intervals and break durations in Settings
- No dock icon — lives entirely in the menu bar
| Timer | Work interval | Break duration |
|---|---|---|
| Eye break (micro) | 20 min | 20 sec |
| Regular break (macro) | 50 min | 5 min |
- macOS 14.0+
- Apple Silicon (arm64)
- Xcode Command Line Tools (
xcode-select --install)
git clone <repo-url>
cd focus
make installThis compiles the app and copies Focus.app to /Applications.
After launch, a countdown appears in the menu bar. Click it for options:
- Skip Break — dismiss the current break
- Pause / Resume — pause both timers
- Reset Timers — restart both countdowns
- Settings... — configure timer durations
- Quit Focus — exit the app
make build # compile to build/Focus.app
make run # build and open
make install # build and copy to /Applications
make clean # remove build artifactsPlace a icon.png (1024x1024 recommended) in the project root. The Makefile automatically converts it to .icns during build.
MIT