A simple, yet powerful, command-line Pomodoro timer written in Bash. This script helps you stay focused by cycling through work and break periods, complete with a visual progress bar and notifications.
It's designed to be lightweight, easy to use, and highly customizable right from your terminal.
- Custom Intervals: Easily set your own work and break durations using command-line flags.
- Endless Loop: The timer continuously cycles between work and break sessions to keep you in the zone.
- Manual Control: Always waits for a key press before starting the next session, so you're always in control.
- Visual Progress Bar: Utilizes
caarlos0/timerto display a colorful, real-time progress bar. - Rich Notifications: Get both desktop pop-up notifications and spoken alerts when a session ends.
Before you begin, ensure you have the following tools installed on your system.
- timer: The core visual timer. Follow the installation instructions on their GitHub page.
spd-say: For voice notifications. This is part of thespeech-dispatcherpackage.sudo apt install speech-dispatcher
-
Clone the repository
git clone https://github.com/tomasmach/pomodoro-timer.git cd pomodoro-script -
Make the script executable You need to give the script permission to run.
chmod +x pomodoro
-
Create a symbolic link To make the
pomodorocommand available system-wide, we'll link it to~/.local/bin.# Ensure the target directory exists mkdir -p ~/.local/bin # Create the link ln -s "$(pwd)/pomodoro" ~/.local/bin/pomodoro
Now you can call
pomodorofrom anywhere!
Running the timer is simple.
-
To start with default times (45 min work / 10 min break):
pomodoro
-
To start with custom times (e.g., 25 min work / 5 min break):
pomodoro --work 25 --break 5
Press Ctrl+C at any time to exit the timer.