CLI Pomodoro Timer
posix-pomo is a simple POSIX-compliant shell script that implements a pomodoro timer for Linux and the BSDs.
GIF made with VHS
example notifications using the dunst notification daemon on Arch Linux (btw)
features
- customizable durations: supports specifying the duration of work and break intervals in hours, minutes, or seconds.
- cli progress bar: displays a progress bar in the terminal showing the remaining time. (built from scratch, no external program/library needed)
- notifications: sends desktop notifications at the end of each session via
notify-send. - sound alerts: plays a sound alert at the end of each session via
mpv.
dependencies
- mpv: for playing sound alerts. (will probably look for something more suckless in the future)
- notify-send: for desktop notifications (should be preinstalled on most distros as part of
libnotify). - ensure you have the required sound file (
pomo-sound.mp3) and icon file (pomo-tomato.png) located in the~/.cache/pomo/directory.- the repo has these files but you can also provide your own files if you’d like.
installation
- ensure you have all dependencies installed
- download the
posix-pomoscript from this repository or clone the whole repo. - make the script executable:
chmod +x posix-pomo
usage
to start a timer, use the following syntax:
./posix-pomo <mode> <duration>
<mode>: eitherworkfor work sessions orbreakfor break intervals.<duration>: the length of the timer, followed byhfor hours,mfor minutes, orsfor seconds (e.g.,25mfor 25 minutes).
examples
- start a 25-minute work session:
./posix-pomo work 25m - start a 5-minute break:
./posix-pomo break 5m
links:
- Source Code (GitHub)
- Download as
.sh