A simple Pomodoro timer application built with Rust and egui.

- Customizable work and break durations
- Visual timer display with doughnut-shaped progress indicator
- Sound notifications when phases complete
- Simple and intuitive interface
- Rust and Cargo (https://www.rust-lang.org/tools/install)
- cargo-bundle (
cargo install cargo-bundle)
To build a Windows executable bundle (.exe/.msi):
# On Windows
./build.bat
# On any platform with cross-compilation setup
./build.sh --windowsThe Windows bundle will be created in target/release/bundle/msi/.
To build a macOS application bundle (.app):
# On macOS
./build.sh --macos
# On any platform with cross-compilation setup
./build.sh --macosThe macOS bundle will be created in target/release/bundle/osx/.
To build for all supported platforms:
./build.sh --all- Navigate to
target/release/bundle/msi/ - Run the installer (.msi) file
- Launch the application from the Start Menu
- Verify that:
- The application launches correctly
- The timer functions properly
- Sound notifications work when a phase completes
- Settings can be adjusted
- Navigate to
target/release/bundle/osx/ - Open the .app bundle
- If prompted about an unidentified developer, right-click the app and select "Open"
- Verify that:
- The application launches correctly
- The timer functions properly
- Sound notifications work when a phase completes
- Settings can be adjusted
- The application uses the Windows subsystem flag to prevent console windows from appearing
- Icons are automatically converted to the appropriate format (.ico)
- The installer includes necessary metadata for proper installation
- The application is bundled as a standard .app package
- Icons are automatically converted to the appropriate format (.icns)
- The bundle includes proper metadata for macOS application requirements
- Minimum supported macOS version is 10.13 (High Sierra)
The application uses the rodio crate for cross-platform audio playback, ensuring sound notifications work consistently across different operating systems.
- Sound of bell: [Springin' Sound Stock] (https://www.springin.org/sound-stock/ )