97 lines
2.6 KiB
Markdown
97 lines
2.6 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.
|
|
|
|
## 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.
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
Ensure you have Rust and Cargo installed. If not, download them via [rustup.rs](https://rustup.rs/).
|
|
|
|
### Running with Defaults
|
|
|
|
To run termato with the default settings (25-minute focus session, 5-minute break):
|
|
|
|
```bash
|
|
cargo run --release
|
|
```
|
|
|
|
### Specifying Custom Session Times
|
|
|
|
You can specify custom session durations as command-line arguments in minutes:
|
|
|
|
```bash
|
|
cargo run --release -- [work_minutes] [break_minutes]
|
|
```
|
|
|
|
For example, to run a 50-minute focus session followed by a 10-minute break:
|
|
|
|
```bash
|
|
cargo run --release -- 50 10
|
|
```
|
|
|
|
### Help and Version
|
|
|
|
To print the help message or version directly without entering the TUI:
|
|
|
|
```bash
|
|
cargo run --release -- -h
|
|
cargo run --release -- --help
|
|
cargo run --release -- --version
|
|
```
|
|
|
|
## Building and 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
|
|
```
|
|
|
|
To install `termato` globally from source using Cargo:
|
|
```bash
|
|
cargo install --path .
|
|
```
|
|
|
|
Alternatively, to build a standalone optimized binary manually:
|
|
|
|
```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.
|