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-pomo
script 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>
: eitherwork
for work sessions orbreak
for break intervals.<duration>
: the length of the timer, followed byh
for hours,m
for minutes, ors
for seconds (e.g.,25m
for 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