4 releases (stable)
1.2.0 | Feb 26, 2025 |
---|---|
1.1.0 | Jan 22, 2025 |
1.0.0 | Jan 10, 2025 |
0.9.0 | Jan 2, 2025 |
#415 in Command line utilities
190 downloads per month
625KB
3.5K
SLoC
timr-tui
TUI to organize your time: Pomodoro, Countdown, Timer.
[t]imer
Check the time on anything you are you doing.[c]ountdown
Use it for your workout, yoga session, meditation, handstand or whatever.[p]omodoro
Organize your working time to be focused all the time by following the Pomodoro Technique.
Features
Side note: Theme colors depend on your terminal preferences.
Pomodoro

Timer

Countdown

Change style

Toggle deciseconds

Menu

Local time

Mission Elapsed Time (MET)

CLI
timr-tui --help
Usage: timr-tui [OPTIONS]
Options:
-c, --countdown <COUNTDOWN> Countdown time to start from. Formats: 'ss', 'mm:ss', or 'hh:mm:ss'
-w, --work <WORK> Work time to count down from. Formats: 'ss', 'mm:ss', or 'hh:mm:ss'
-p, --pause <PAUSE> Pause time to count down from. Formats: 'ss', 'mm:ss', or 'hh:mm:ss'
-d, --decis Show deciseconds.
-m, --mode <MODE> Mode to start with. [possible values: countdown, timer, pomodoro]
-s, --style <STYLE> Style to display time with. [possible values: full, light, medium, dark, thick, cross, braille]
--menu Open the menu.
-r, --reset Reset stored values to default values.
-n, --notification <NOTIFICATION> Toggle desktop notifications. Experimental. [possible values: on, off]
--blink <BLINK> Toggle blink mode to animate a clock when it reaches its finished mode. [possible values: on, off]
--log [<LOG>] Directory to store log file. If not set, standard application log directory is used (check README for details).
-h, --help Print help
Extra option (if --features sound
is enabled by local build only):
--sound <SOUND> Path to sound file (.mp3 or .wav) to play as notification. Experimental.
Installation
Cargo
From crates.io
cargo install timr-tui
From GitHub repository
cargo install --git https://github.com/sectore/timr-tui
Arch Linux
Install from the AUR:
paru -S timr
Release binaries
Pre-built artifacts are available to download from latest GitHub release.
Development
Requirements
Nix users (recommend)
cd
into root directory.
If you have direnv
installed, run direnv allow
once to install dependencies. In other case run nix develop
.
Non Nix users
Commands
just
Available recipes:
build # build app [alias: b]
default # list commands
demo-blink # build demo: blink animation [alias: db]
demo-countdown # build demo: countdown [alias: dc]
demo-countdown-met # build demo: countdown + met [alias: dcm]
demo-decis # build demo: deciseconds [alias: dd]
demo-local-time # build demo: local time [alias: dlt]
demo-menu # build demo: menu [alias: dm]
demo-pomodoro # build demo: pomodoro [alias: dp]
demo-rocket-countdown # build demo: rocket countdown [alias: drc]
demo-style # build demo: styles [alias: ds]
demo-timer # build demo: timer [alias: dt]
format # format files [alias: f]
lint # lint [alias: l]
run # run app [alias: r]
run-sound path # run app while sound feature is enabled. It expects a path to a sound file. [alias: rs]
test # run tests [alias: t]
Build
- Linux
nix build
# or for bulding w/ statically linked binaries
nix build .#linuxStatic
- Windows (cross-compilation)
nix build .#windows
Misc.
Persistant app state
Stored on file system:
# Linux
~/.local/state/timr-tui/data/app.data
# macOS
/Users/{user}/Library/Application Support/timr-tui/data/app.data
# Windows
C:/Users/{user}/AppData/Local/timr-tui/data/app.data
Logs
To get log output, start the app by passing --log
to timr-tui
. See CLI for details.
Logs will be stored in an app.log
file at following locations:
# Linux
~/.local/state/timr-tui/logs/app.log
# macOS
/Users/{user}/Library/Application Support/timr-tui/logs/app.log
# `Windows`
C:/Users/{user}/AppData/Local/timr-tui/logs/app.log
Optional: You can use a custom directory by passing it via --log
arg.
Dependencies
~19–55MB
~1M SLoC