Termdown: CLI Countdown timer and stopwatch

Published in: Productivity, Quick Tips

I like to do my work in small timed chunks. I follow the Pomodoro method, the idea is that you spend 25 minutes focused work on whatever that you want to work on and then take a break for 5-10 minutes then go for another 25-30 minute chunk. Working this way helps me get more done. In this hyperactive, hyperconnected, tab-switching, window-swapping, instant-notification popping work environment; constant distraction is a way of life. By concentrating on a single task and spending fixed amount of short time on it is an effective way to not get easily distracted. Of course, this won’t magically work if you have a toxic work environment with easy distractions.

There are tons of Pomodoro apps out there, most of them are free and some of them are even web-based, I have tried quite a few of them but the one that worked well for me is a simple CLI app, called Termdown. I don’t know if the author of this very useful but simple app made this with Pomodoro in mind, but that’s how I use it. Since I am trying to be ruthlessly minimalistic in every aspect in my life, a CLI app for my Pomodoro needs seems like a perfect choice for my minimalistic goal.

Termdown comes with several options to fiddle with timer and stopwatch option, you can get a whole list of options available through termdown --help.

Usage: termdown [OPTIONS] [TIMESPEC]

  Starts a countdown to or from TIMESPEC. Example values for TIMESPEC:
  10, '1h 5m 30s', '12:00', '2020-01-01', '2020-01-01 14:00 UTC'.

  If TIMESPEC is not given, termdown will operate in stopwatch mode
  and count forward.

  Hotkeys:
      L       Lap (stopwatch mode only)
      R       Reset
      SPACE   Pause (will delay absolute TIMESPEC)
      Q       Quit

Options:
  -a, --alt-format       Use colon-separated time format
  -b, --blink            Flash terminal at end of countdown
  -c, --critical N       Draw final N seconds in red (defaults to 3)
  -f, --font FONT        Choose from http://www.figlet.org/examples.html
  -q, --quit-after N     Quit N seconds after countdown (use with -b or -t) or
                         terminate stopwatch after N seconds
  -s, --no-seconds       Don't show seconds until last minute
  -t, --text TEXT        Text to display at end of countdown
  -T, --title TEXT       Text to display on top of countdown/stopwatch
  -W, --no-window-title  Don't update terminal title with remaining/elapsed
                         time
  -v, --voice VOICE      Spoken countdown (starting at 10; requires `espeak`
                         on Linux or `say` on macOS; choose VOICE from `say -v
                         '?'` or `espeak --voices`)
  -o, --outfile PATH     File to write current remaining/elapsed time to
  --no-figlet            Don't use ASCII art for display
  --no-text-magic        Don't try to replace non-ASCII characters (use with
                         -t)
  --version              Show version and exit
  --help                 Show this message and exit

I find myself sticking to these Termdown options for my timer/Pomodoro needs. termdown --no-figlet 10s -b, which gives me a simple centered timer (with no fancy ASCII art) and a red blink when the timer runs out. Here is how it works:

Of course, you can use it for your non-Pomodoro timer needs too.




about | twitter | facebook | archive | rss