Branch | Status |
---|---|
master | |
dev |
RTW - Rust Time Watcher
Command-line interface (CLI) time tracker.
CLI usage is stable, underlying API is not stable.
This project is heavily inspired from Timewarrior.
For a stable feature-rich CLI time tracker, please use Timewarrior: https://timewarrior.net/.
Development
Development occurs on dev
, releases are made on master
branch.
Install
Supported OS: Linux, MacOS, Windows
CI runs on ubuntu-latest
, macos-latest
, windows-latest
.
Note: Windows support is only experimental. Some features may not be supported on Windows.
Cargo
cargo install rtw
Build From Source
rtw compiles with Rust 1.39.0 (stable) or newer.
Clone and build from source:
git clone https://github.com/PicoJr/rtw.git
cd rtw
cargo build --release
From binaries (Linux only)
Download the corresponding archive from the Release page.
Changelog
Please see the CHANGELOG for a release history.
Basic Usage
Start tracking an activity
Example:
Example output:
Tracking learn rust
Started 2019-12-25T19:43:00
Display current activity
Example output:
Tracking learn rust
Total 01:15:00
Stop current activity
Example output:
Recorded learn rust
Started 2019-12-25T19:43:00
Ended 2019-12-25T21:00:00
Total 01:17:000
Display the day's activity summary
Example output:
read the doc 2019-12-25T11:49:30 2019-12-25T11:53:36 00:04:246
eat cookies 2019-12-25T12:08:49 2019-12-25T12:12:14 00:03:204
Display a timeline for the day
Example output (YMMV):
More?
For further details see Full Usage.
Configuration
RTW doesn't create the config file for you, but it looks for one in the following locations (in this order):
$XDG_CONFIG_HOME/rtw/rtw_config.json
$HOME/.config/rtw/rtw_config.json
$XDG_CONFIG_HOME/.config/rtw_config.json
$HOME/.config/rtw_config.json
see example
folder for a default config file.
Implementation
RTW relies on json files for persistence.
Default location is the home (~
) directory.
~/.rtw.json # stores current activity
~/.rtwh.json # stores finished activities
there is currently no file locking mechanism: running several rtw
commands at the same time
may lead to undefined behavior.