Skip to content

Simple, customizable, cross-platform Pomodoro-style interval timer

License

Notifications You must be signed in to change notification settings

RazielO/tomato_timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tomato Timer

A simple, customizable, cross-platform Pomodoro-style interval timer.

Features

  • Configurable:
    • Work session length
    • Short break length
    • Long break length
    • Number of cycles before a long break
  • Desktop notifications
  • Three modes:
    • GUI
    • TUI
    • CLI
  • Lightweight & fast (Rust)

Installation

Clone the repository

git clone https://github.com/yourname/tomato_timer.git
cd tomato_timer

GUI

Requirements

  • bun
cd gui
bun tauri build

Output is in gui/src-tauri/target/release/bundle/ as AppImage, deb and rpm.

CLI/TUI

cargo build --release

Run directly

GUI

cd gui
bun tauri dev

CLI/TUI

cargo run --release -- --work 30 --short-break 5 --long-break 15 --cycles 4

Usage

GUI

GUI Timer
GUI Config

Basic CLI example

tomato_timer

This uses the defaults:

  • Work: 25 minutes
  • Short break: 5 minutes
  • Long break: 20 minutes
  • Cycles until long break: 4

Output

CLI

Notifications

Notification

TUI mode

tomato_timer --tui

TUI screenshots

TUI Timer

TUI Config

Custom session lengths

tomato_timer --work 30 --short-break 5 --long-break 15 --cycles 4

Help

tomato_timer -h

Prints all the option

A customizable interval timer for alternating focused work and breaks.

Usage: tomato_timer [OPTIONS]

Options:
      --tui                    Start the app in TUI mode
  -w, --work <MINUTES>         Minutes for each focused work session [default: 25]
  -s, --short-break <MINUTES>  Minutes for each short break [default: 5]
  -l, --long-break <MINUTES>   Minutes for the long break [default: 20]
  -c, --cycles <CYCLES>        Number of work sessions before a long break [default: 4]
  -h, --help                   Print help (see more with '--help')
  -V, --version                Print version

Libraries used

  • CLI. clap
  • Terminal. crossterm
  • Notifications. notify-rust
  • Errors. thiserror
  • TUI. ratatui
  • GUI. tauri, svelte

License

MIT License — feel free to use, modify, and distribute.

About

Simple, customizable, cross-platform Pomodoro-style interval timer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published