I’ve recently released pomogoro, a pomodoro time tracking app for the terminal with desktop notifications (Linux/OSX). It reads text based files like todo.txt, makes them selectable in a window and logs the times you work on them.
The Pomodoro Technique
Why do I use the Pomodoro Technique for my daily work?
- Because it makes me more productive. It slices your workday into small, easily digestible work bursts, so I don’t feel as exhausted as working for 2-3 long batches.
- It forces you to take breaks every 25 minutes. This means, you constantly step back from what you have done in the past 25 minutes and come back with a clear mind.
- Estimating the workload for the next 25 minutes fights Parkinson’s Law.
todo.txt
todo.txt is an amazing format to organize todo files. It’s uses simple txt files, so it’s cross-platform by nature. There are quite a lot of desktop/mobile apps which can work with this format.
Note: pomogoro does not require you to use the todo.txt format, it will work with any line-based text file.
Pomogoro Installation
Option 1: get a binary
Go to Releases and grep the appropriate release for your architecture.
# extract
tar -xvzf <release.tar.gz>
# move the binary to a directory in your $PATH
mv pomogoro ~/.local/bin
Option 2: go get
go get -u github.com/phux/pomogoro
cd $GOPATH/src/github.com/phux
dep ensure
go install
Configuration
pomogoro is configured via a config.toml
.
TodoFile
Specifies the txt file to load the todos from (absolute path).
Example:
TodoFile = "/absolute/path/to/your/todo.txt"
LogFile
The path to the file pomogoro should log the tracked times to (absolute path). Does not have to exist before.
Example:
LogFile = "/absolute/path/to/pomogoro.log"
PomodoroEnabled
If set to false
, pomogoro will not use pomodoro style time tracking but
continuously track until the end of time.
Example:
PomodoroEnabled = true
PomodoroDuration
Specifies the time a pomodoro should run for.
Example:
PomodoroDuration = 25 # in minutes
BreakDuration
Duration of breaks in minutes.
Example:
BreakDuration = 5 # in minutes
LogBreakTime
Enable logging breaks as well.
Example:
LogBreakTime = true
LogIdleTime
After a break has finished, pomogoro switches to idle mode. When set to true, pomogoro will also log the time until you start the next task.
Example:
LogIdleTime = true
Usage
You must start pomgoro by providing an absolute path to a config.toml
(see
Configuration).
pomogoro --config <absolute/path/to/config.toml>
Key bindings
?
brings up a help window with all key bindings.
Via j/k
You can scroll up and down in the todo & history/summary windows.
Enter
starts tracking on the selected task in the todo window.
p
pauses the current task tracking, i.e. when somebody interrupts you.
c
cancels the current task/break tracking completely.
s
toggles between history and summary per task per day.
r
reloads the todo file.
CTRL-c
quits pomogoro.