Skip to content

gabrielzschmitz/Tomato.C

Repository files navigation

Tomato.C

Tomato.C Logo

License Buy Me A Coffee Give me a Star

Tomato.C is a modular, extensible, terminal-based Pomodoro timer written in pure C. Its features dynamic UI, ASCII sprite animations, desktop notifications, built-in notes system with Vim-like motions and comprehensive session history logging.


Quick Start

1. Clone the repository

git clone https://github.com/gabrielzschmitz/Tomato.C.git
cd Tomato.C

2. Build and run

./build.sh
./tomato

3. Install and run

sudo ./build.sh --install
tomato

Usage

Pomodoro controls and navigation are handled via keyboard shortcuts and mouse input. To get help with the keybinds press ?/F1

Tomato.C demonstration

Tomato.C combines modern productivity features with a clean, retro-inspired terminal interface.


Configuration

Tomato.C uses a toml configuration file. A fully commented example is provided as sample_config.toml. Copy it to the configuration directory:

mkdir -p ~/.config/tomato
cp sample_config.toml ~/.config/tomato/config.toml

All available options are documented directly in the file, including timer durations, status bar modules, notifications, animations, keybindings, and other general settings.


Contribute

Feel free to contribute to the project, the requirement is to follow conventional commit and use the .clang-format to format the files!


Documentation

Complete API and developer documentation is generated with Doxygen.

Tomato.C documentation

Doxygen-generated API documentation for Tomato.C.

Generate the documentation locally:

cd docs
./generate.sh
$BROWSER output/html/index.html

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

About

A pomodoro timer written in pure C.

Topics

Resources

License

Stars

437 stars

Watchers

6 watching

Forks

Contributors