Pomodoro timer using figlet, cowsay, and lolcat
🍅 Implementation of the Pomodoro Technique using figlet(6)
, cowsay(1)
, and lolcat
🐮
Features
- Sends desktop notifications.
- Can't stop. SIGTSTP (
Ctrl
-Z
) is trapped. Pomodoros are uninterruptible.
- Traps SIGINT to make
Ctrl
-C
abandon pomodoros.
- Silly mode (or is it stern?) is enabled with
-s
(can be specified multiple times).
- Avoids using
clear
so the terminal doesn't flash.
- Hides the cursor.
- Disables echoing of stdin.
- Keeps the cow at the bottom of your terminal.
- Prints some stats when exiting: when pomodoros started and ended and the length of breaks (can be redirected to a file).
Alias
I recommend creating an alias such as
alias pomo='muccadoro | tee -ai ~/pomodoros.txt'
Usage notes
The first positional argument is the amount of minutes one pomodoro should take (default: 25). If you want 20-minute pomodoros, use muccadoro 20
, for example. The program exits after four pomodoros have been completed and a longer break should be taken.
Saving summaries to a file
You may want to keep a record of how many pomodoros you did and when (and for how long) you took breaks. This is supported by simply redirecting stdout:
muccadoro >> ~/pomodoros.txt
If you want to save the summary but also have it printed to stdout, use:
muccadoro | tee -ai ~/pomodoros.txt
The -i
(--ignore-interrupts
) flag of tee
makes sure the summary is correctly processed in case the pipeline was killed with Ctrl
-C
(which is the intended way to quit when doing less than four pomodoros).