A simple command line pomodoro timer
Go to file
Ian Fijolek 0d2589043f
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Use huh for form input
2024-10-21 14:48:00 -07:00
.drone.yml Add drone build 2024-10-18 13:29:12 -07:00
.gitignore Use shell runner 2024-10-21 13:35:53 -07:00
.golangci.yml Add pre-commit 2024-10-18 09:10:46 -07:00
.pre-commit-config.yaml Add pre-commit 2024-10-18 09:10:46 -07:00
go.mod Use huh for form input 2024-10-21 14:48:00 -07:00
go.sum Use huh for form input 2024-10-21 14:48:00 -07:00
LICENSE Initial commit 2018-01-19 01:36:31 +00:00
main_test.go Use huh for form input 2024-10-21 14:48:00 -07:00
main.go Use huh for form input 2024-10-21 14:48:00 -07:00
Makefile Use shell runner 2024-10-21 13:35:53 -07:00
README.md Add pre-commit 2024-10-18 09:10:46 -07:00

Gomodoro

Gomodoro is a customizable Pomodoro timer written in Go. It allows you to set focus and break intervals, and run custom shell commands at the start and end of each focus period, as well as at the end of each interval. The application can be run in fullscreen mode and provides a visual progress bar to track your focus and break times.

Features

  • Customizable focus and break durations
  • Customizable number of intervals
  • Ability to run shell commands at the start and end of focus periods, and at the end of each interval
  • Fullscreen mode for distraction-free focus
  • Visual progress bar with customizable colors

Installation

To install Gomodoro, you need to have Go installed on your machine. Then, you can clone the repository and build the application:

git clone https://github.com/iamthefij/gomodoro.git
cd gomodoro
make build

Usage

You can run Gomodoro from the command line with various options to customize your Pomodoro sessions.

Command Line Options

  • --on-focus-start: Command(s) to run when focus starts
  • --on-focus-end: Command(s) to run when focus ends
  • --on-interval-end: Command(s) to run when any interval ends
  • --fullscreen: Enable fullscreen mode
  • --focus: Focus time duration (default prompt for input)
  • --break: Break time duration (default prompt for input)
  • --intervals: Number of intervals (default prompt for input)
  • --color-left: Left color for progress bar (default: #ffdd57)
  • --color-right: Right color for progress bar (default: #57ddff)
  • --version: Show version

Examples

Basic Usage

Run Gomodoro and follow the prompts to enter your Pomodoro settings:

./gomodoro

Set Focus and Break Durations

Set focus time to 25 minutes and break time to 5 minutes:

./gomodoro --focus=25m --break=5m

Set Number of Intervals

Set the number of intervals to 4:

./gomodoro --intervals=4

Run Commands on Focus Start and End

Run a command when focus starts and another when focus ends:

./gomodoro --on-focus-start="echo Focus started" --on-focus-end="echo Focus ended"

Fullscreen Mode

Run Gomodoro in fullscreen mode:

./gomodoro --fullscreen

Custom Progress Bar Colors

Set custom colors for the progress bar:

./gomodoro --color-left="#ff0000" --color-right="#00ff00"

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

Author

Gomodoro is developed by iamthefij.