termato
A minimal and unintrusive Pomodoro timer written in Rust for the terminal.
Features
- Supports focus sessions and break sessions.
- System-level alerts to notify you when a session ends.
- Define custom focus and break session durations from the command line.
- Cross-platform sound notifications when a session ends.
- Cross-platform audio visualizer.
Keyboard Controls
When termato is running, control the application using the following keys:
| Key | Action |
|---|---|
| Space | Pause / Resume the timer |
| S / s | Switch Mode (manually toggle between Work and Break) |
| R / r | Reset current timer session |
| ? | Toggle the in-app help overlay |
| Q / q | Quit the application cleanly |
| Ctrl + C | Force quit the application cleanly |
Note
The in-app help overlay (
?) requires a minimum terminal window size to be displayed.
Installation
To install termato using the automated installers:
Unix Shell (macOS / Linux)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/StevanFreeborn/termato/releases/latest/download/termato-installer.sh | sh
Windows PowerShell
irm https://github.com/StevanFreeborn/termato/releases/latest/download/termato-installer.ps1 | iex
Getting Started
Running with Defaults
To run termato with the default settings (25-minute focus session, 5-minute break):
termato
Specifying Options and Custom Session Times
By default, desktop notifications, sound alerts, and the visualizer are disabled. You can specify options and custom session durations as command-line arguments:
termato [options] [work_minutes] [break_minutes]
For example, to enable desktop notifications and run a 50-minute focus session followed by a 10-minute break:
termato -n 50 10
To enable both desktop notifications and sound notifications with custom times:
termato -ns 50 10
# or with long flags
termato --notify -sound 50 10
You can also combine short flags together (e.g. -nsz to enable notifications, sound, and the audio visualizer):
termato -nsz
Help and Version
To print the help message or version directly without entering the TUI:
termato -h
termato --help
termato --version
Building and Installing from Source
To install termato globally from source (requires Rust and Cargo):
cargo install --path .
Alternatively, to build a standalone optimized binary manually from source (requires Rust and Cargo):
cargo build --release
The compiled binary will be located at ./target/release/termato. You can copy this binary to any directory in your PATH to run it globally.
License
Distributed under the MIT License. See LICENSE.md for details.