Files
termato/README.md
T
2026-08-05 22:18:11 +00:00

113 lines
3.0 KiB
Markdown

# 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)
```bash
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/StevanFreeborn/termato/releases/latest/download/termato-installer.sh | sh
```
### Windows PowerShell
```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):
```bash
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:
```bash
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:
```bash
termato -n 50 10
```
To enable both desktop notifications and sound notifications with custom times:
```bash
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):
```bash
termato -nsz
```
### Help and Version
To print the help message or version directly without entering the TUI:
```bash
termato -h
termato --help
termato --version
```
## Building and Installing from Source
To install `termato` globally from source (requires Rust and Cargo):
```bash
cargo install --path .
```
Alternatively, to build a standalone optimized binary manually from source (requires Rust and Cargo):
```bash
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](LICENSE.md) for details.