A minimalist menu bar Pomodoro timer built with Swift and SwiftUI for macOS.
Stay focused with customizable study and break sessions, all accessible from your menu bar.
- Menu Bar Integration - Lives in your menu bar, no Dock icon clutter
- Customizable Timers - Set your own study (15-45 min) and break times (1-15 min)
- Notifications - Get notified when it's time to study or take a break
- Sound Alerts - Bell sound plays when switching between modes
- Clean Interface - Simple, distraction-free design
- macOS 13.0 (Ventura) or later
- Xcode 14.0 or later (for building from source)
- Clone this repository:
git clone https://github.com/sigmacoy/PomodoroTimer- Open the project in Xcode:
open PomodoroTimer.xcodeproj- Build and run the project!
- Add your
bell.mp3(orbell.MP3) file to the project - Make sure it's added to the app target
- The timer will play this sound when switching between study and break modes
- Launch the app - It will appear in your menu bar with the time remaining
- Click the menu bar icon to open the control panel
- Start/Pause - Use the
▶️ Start or ⏸ Pause button - Customize timers - Select your preferred study and break durations
- Switch modes manually - Use the 🔁 Switch button to change between study and break
- Reset - Click ⏹ Reset to go back to the default study timer
- Study Time 📚 - Focus time (default: 25 minutes, green indicator)
- Break Time ☕ - Rest time (default: 5 minutes, blue indicator)
The timer automatically switches between modes and sends a notification when each session ends.
Built with:
- Swift 5.9+
- SwiftUI - Modern declarative UI framework
- Combine - Reactive timer management
- UserNotifications - macOS notification system
- AVFoundation - Audio playback for alerts
- AppKit - Menu bar integration
The app is configured to:
- Hide from the Dock (
LSUIElement= true) - Run as a menu bar accessory app
- Request notification permissions on first launch (must be granted for alerts to work)
- Stay hidden even when notifications are clicked
- Sound file must be named exactly
bell.mp3orbell.MP3 - The app icon still appears on the Dock menu bar when pressing the Banner pop up notification.
- Fix all bugs above
- Add a feature for Color themes (Default and Pink for now)

