Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phux/pomogoro
Text-file based todo time tracking
https://github.com/phux/pomogoro
pomodoro time-tracker todo todotxt
Last synced: 2 months ago
JSON representation
Text-file based todo time tracking
- Host: GitHub
- URL: https://github.com/phux/pomogoro
- Owner: phux
- License: mit
- Created: 2018-11-07T16:01:48.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-20T21:52:53.000Z (almost 5 years ago)
- Last Synced: 2024-11-07T11:44:46.999Z (3 months ago)
- Topics: pomodoro, time-tracker, todo, todotxt
- Language: Go
- Size: 171 KB
- Stars: 23
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome - phux/pomogoro - Text-file based todo time tracking (Go)
README
# Pomogoro
Pomogoro is a command-line tool to combine [todo.txt](http://todotxt.org/) (or
any other text based todo file) and
the [Pomodoro Technique](http://francescocirillo.com/pages/pomodoro-technique).![pomogoro screenshot](.github/screenshot.png)
## Features
- made to work with `todo.txt` files but is compatible with any line-based text
files
- time tracking history per task per day
- OS notifications (pomodoro finished, break started, break finished)
- option to enable/disable pomodoro style tracking
- configurable pomodoro and break durations
- auto break after one pomodoro is finished## Installation
### Option 1: get a binary
Go to [Releases](https://github.com/phux/pomogoro/releases) and grep the
appropriate release for your architecture.```
# extract
tar -xvzf
# move the binary to a directory in your $PATH
mv pomogoro ~/.local/bin```
### Option 2: `go get`
- [golang](https://golang.org/)
- `PATH` contains path to `go/bin/` directory```
go get -u github.com/phux/pomogoro
```After this you can start pomogoro via
```
pomogoro --config
```## Configuration
You need to pass an absolute path to a config.toml file via `--config /your/path/to/config.toml`.
```
# config.toml
TodoFile = "/absolute/path/to/your/todo.txt" # containing the tasks you want to track
LogFile = "/absolute/path/to/pomogoro.log" # tracking log file
BreakDuration = 5 # in minutes
PomodoroEnabled = true # whether to use pomodoro timer or not
PomodoroDuration = 25 # in minutes
LogIdleTime = true # also log idle times
LogBreakTime = true # also log breaks
```## Keybindings
| Key | Function |
| ------------- | ---------------------------------------------------------- |
| `j/k/Up/Down` | Scroll down/up in windows |
| `Enter` | Start tracking on current task in the todo window |
| `p` | Toggle: Freeze timer |
| `c` | Cancel current timer (task or break) |
| `s` | Toggle between summary per task per day and recent history |
| `r` | Refresh todo list |
| `?` | Toggle: show keyboard bindings |
| `CTRL-c` | quit |## Todos
- [ ] Jira: Fetch tasks & push time trackings (WIP)
- [ ] reduce 1s lag after key press
- [ ] cleanup codebase & more tests
- [ ] group by todo.txt projects## Built With
- [gocui](https://github.com/jroimartin/gocui) - Terminal UI
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details