Skip to content

sigmacoy/PomodoroTimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pomodoro Timer for macOS

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

App Screenshot

Notification

Notifcation

Features

  • 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

Requirements

  • macOS 13.0 (Ventura) or later
  • Xcode 14.0 or later (for building from source)

Installation

From Source

  1. Clone this repository:
git clone https://github.com/sigmacoy/PomodoroTimer
  1. Open the project in Xcode:
open PomodoroTimer.xcodeproj
  1. Build and run the project!

Customizing the Bell Sound

  1. Add your bell.mp3 (or bell.MP3) file to the project
  2. Make sure it's added to the app target
  3. The timer will play this sound when switching between study and break modes

Usage

  1. Launch the app - It will appear in your menu bar with the time remaining
  2. Click the menu bar icon to open the control panel
  3. Start/Pause - Use the ▶️ Start or ⏸ Pause button
  4. Customize timers - Select your preferred study and break durations
  5. Switch modes manually - Use the 🔁 Switch button to change between study and break
  6. Reset - Click ⏹ Reset to go back to the default study timer

Timer Modes

  • 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.

Technical Details

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

Configuration

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

Known Issues

  1. Sound file must be named exactly bell.mp3 or bell.MP3
  2. The app icon still appears on the Dock menu bar when pressing the Banner pop up notification.

To-Do:

  1. Fix all bugs above
  2. Add a feature for Color themes (Default and Pink for now)

About

Menu bar Pomodoro timer for macOS with notification and sound alerts without cluttering your Dock.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages