Simple CLI Pomodoro timer for macOS

#productivity

Learn how to use a simple terminal-based Pomodoro timer on Mac. It provides the following features:

  • Start work and rest periods easily from your terminal
  • Displays a beautiful progress bar
  • Displays a Notification when timer is up

It only requires two Open Source packages to use it. Below are some screenshots.

Work timer:

Screenshot 2023-02-27 at 14 04 43 copy 2

Rest timer:

Screenshot 2023-02-27 at 14 17 54 copy 2

Notification when timer is up:

Screenshot 2023-02-27 at 14 12 55 copy

Install

Requires https://github.com/caarlos0/timer and https://github.com/julienXX/terminal-notifier to be installed, e.g. with Homebrew:

brew install caarlos0/tap/timer
brew install terminal-notifier

Then add this to your terminal config, in my case the ~/.zshrc file:

work() {
# usage: work 10m, work 60s etc. Default is 20m
timer "${1:-20m}" && terminal-notifier -message 'Pomodoro'\
-title 'Work Timer is up! Take a Break 😊'\
-sound Crystal
}

rest() {
# usage: rest 10m, rest 60s etc. Default is 5m
timer "${1:-5m}" && terminal-notifier -message 'Pomodoro'\
-title 'Break is over! Get back to work 😬'\
-sound Crystal
}

Usage

Now you can use work and rest as terminal commands with an optional parameter for the duration (specified with m for minutes or s for seconds). work defaults to 20 minutes, and rest defaults to 5 minutes.

Examples:

work
work 45m
work 60s
rest
rest 10m
rest 30s

Resources

I got this idea from this video by bashbunni. This is her original Mac Gist.

It can be adapted to also work on Linux (Gist for Linux).

Hope you enjoyed the read!

Share on Twitter RSS Feed