Go to file
Kevin Schoon 1aaa713c49 fix tag spacing 2018-03-03 20:19:30 +00:00
bin improve build support 2018-02-01 16:11:44 -05:00
docs update polybar example 2018-02-13 09:14:25 -05:00
vendor update termbox-go dependency 2018-03-03 20:16:21 +00:00
www minor styling updates 2018-01-30 17:55:01 -05:00
.gitignore improve build support 2018-02-01 16:11:44 -05:00
.gitmodules add hugo sources 2018-01-22 22:59:03 +08:00
Gopkg.lock update termbox-go dependency 2018-03-03 20:16:21 +00:00
Gopkg.toml fix out of date dependencies 2018-01-30 21:23:53 -05:00
LICENSE add license 2018-01-23 23:16:04 +08:00
Makefile remove /bin from md5 output 2018-02-01 16:27:09 -05:00
README.md update polybar example 2018-02-13 09:14:25 -05:00
bindata.go refactor run loop, add simple libnotify support, improve notifications, binpack tomato image 2018-01-21 18:35:03 +08:00
main.go revert to outputting all tasks by default 2018-03-01 17:18:13 +00:00
runner.go task -> runner 2018-02-09 11:28:56 -05:00
runner_test.go task -> runner 2018-02-09 11:28:56 -05:00
server.go break out of listen loop on error 2018-02-03 22:25:06 -05:00
store.go fix broken delete sql 2018-01-21 18:39:56 +08:00
tomato-icon.png refactor run loop, add simple libnotify support, improve notifications, binpack tomato image 2018-01-21 18:35:03 +08:00
types.go output tasks only from the last 24 hours by default, add more task output options 2018-02-09 12:02:34 -05:00
ui.go add socket server for scriptable status output 2018-02-03 22:13:46 -05:00
util.go fix tag spacing 2018-03-03 20:19:30 +00:00
version.go fix version 2018-01-21 23:38:17 +08:00

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 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.5.0/pomo-0.5.0-linux-amd64
# Optionally verify file integrity
echo 021d59be9a4d625c4e9ee7506c6d7594  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.5.0/pomo-0.5.0-darwin-amd64
# Optionally verify file integrity
[[ $(md5 -r pomo) != "63370c77f761f38b3c1976e9aaa1e7d3 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