You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Kevin Schoon e3673d2f59 update license 5 years ago
bin improve build support 6 years ago
docs update docs 6 years ago
www minor styling updates 6 years ago
.gitignore ignore demo.gif 6 years ago
.gitmodules add hugo sources 6 years ago
Gopkg.lock update termbox-go dependency 6 years ago
Gopkg.toml fix out of date dependencies 6 years ago
LICENSE update license 5 years ago
Makefile update Makefile 6 years ago
README.md fix simple typo 5 years ago
bindata.go refactor run loop, add simple libnotify support, improve notifications, binpack tomato image 6 years ago
go.mod add module support 6 years ago
go.sum add module support 6 years ago
main.go revert to outputting all tasks by default 6 years ago
runner.go task -> runner 6 years ago
runner_test.go task -> runner 6 years ago
server.go break out of listen loop on error 6 years ago
store.go update imports 6 years ago
tomato-icon.png refactor run loop, add simple libnotify support, improve notifications, binpack tomato image 6 years ago
types.go output tasks only from the last 24 hours by default, add more task output options 6 years ago
ui.go update imports 6 years ago
util.go update imports 6 years ago
version.go fix version 6 years ago

README.md

demo

🍅 pomo

pomo is a simple CLI for using the Pomodoro Technique. There are some amazing task management systems but pomo is more of a task execution or timeboxing system. pomo helps you track what you did, how long it took you to do it, and how much effort you expect it to take.

Background

The Pomodoro Technique is simple and effective:

  • Decide on a task you want to accomplish
  • Break the task into timed intervals (pomodoros), [approx. 25 min]
  • After each pomodoro take a short break [approx. 3 - 5 min]
  • Once all pomodoros are completed take a longer break [approx 15 - 20 min]
  • Repeat

Installation

Binaries

Binaries are available for Linux and OSX platforms in the releases section on github.

Linux

curl -L -o pomo https://github.com/kevinschoon/pomo/releases/download/0.6.0/pomo-0.6.0-linux-amd64
# Optionally verify file integrity
echo 97be4ccf66c4ae4e3e154f87b9bb0bf2  pomo | md5sum -c -
chmod +x pomo
./pomo -v
# Copy pomo to somewhere on your $PATH

OSX

curl -L -o pomo https://github.com/kevinschoon/pomo/releases/download/0.6.0/pomo-0.6.0-darwin-amd64
# Optionally verify file integrity
[[ $(md5 -r pomo) != "55d77a30dfd6f66c95e19dd83c7ec95c pomo" ]] && echo "invalid hash!"
chmod +x pomo
./pomo -v
# Copy pomo to somewhere on your $PATH

Source

go get github.com/kevinschoon/pomo
pomo -v

Usage

Once pomo is installed you need to initialize it's database.

pomo init

Start a 4 pomodoro session at 25 minute intervals:

pomo start -t my-project "write some codes"

Configuration

Pomo has a few configuration options which can be read from a JSON file in Pomo's state directory ~/.pomo/config.json.

colors

You can map colors to specific tags in the colors field.

Example:

{
    "colors": {
        "my-project": "hiyellow",
        "another-project": "green"
    }
}

Integrations

Status Bars

The Pomo CLI can output the current state of a running task session via the pomo status making it easy to script and embed it's output in various Linux status bars.

Polybar

You can create a module with the custom/script type and embed Pomo's status output in your Polybar:

[module/pomo]
type = custom/script
interval = 1
exec = pomo status

Roadmap

  • Generate charts/burn down
  • System tray notification/icon
  • ??

Credits