@@ -8,36 +8,25 @@ A dead-simple, cross-platform CLI countdown timer with color-changing progress b
88
99Written in Rust for maximum efficiency and portability.
1010
11- ![ Demo with only seconds as argument] ( demo_args_1.gif )
11+ ![ Demo with 7 as argument representing the seconds ] ( demo_args_1.gif )
1212
1313## Features
1414
15- - Centered, full-width ** progress bar** that shifts green → yellow → red as time runs out
16- - ** Fullscreen** (default) or ** inline** mode
17- - Interactive ** time entry** (HH:MM: SS )
18- - Optional ** audio file playback** when the timer completes
15+ - Automatically parses ** HH:MM: SS ** , ** MM: SS ** or just ** seconds**
16+ - ** Fullscreen** (default) or ** --inline** mode
17+ - Full-width ** progress bar** : green → yellow → red as time runs out
18+ - Interactive ** time entry** (HH:MM: SS ) when no arguments parsed
19+ - ♪ Optional ** audio file playback** when the timer completes ♪
1920
2021## Usage
2122
22- ### Fullscreen mode
23-
24- ``` bash
25- dstimer --seconds 300
26- dstimer -s 90 --audio /path/to/audio.wav
27- dstimer --time 1:30:00
28- dstimer -t 5:00 --inline
29- ```
30-
3123| Flag | Short | Description |
3224| ------| -------| -------------|
33- | ` --time ` | ` -t ` | Duration in ` HH:MM:SS ` , ` MM:SS ` , or ` SS ` format |
34- | ` --seconds ` | ` -s ` | Duration in seconds |
25+ | ` --time ` | ` -t ` | Default argument parsing duration in ` HH:MM:SS ` , ` MM:SS ` , or ` SS ` format |
3526| ` --audio ` | ` -a ` | Path to audio file to play on finish |
3627| ` --inline ` | ` -i ` | Inline mode (see below) |
3728| ` --silent ` | | Suppress desktop notifications |
3829
39- ![ Demo with seconds and audio as arguments] ( demo_args_2.gif )
40-
4130### ** Interactive mode** (no arguments):
4231
4332``` bash
@@ -48,18 +37,30 @@ You'll be prompted to enter a duration and an optional audio file path.
4837
4938![ demo_manual] ( demo_manual.gif )
5039
40+ ### Fullscreen mode
41+
42+ ``` bash
43+ dstimer # starts interactive mode
44+ dstimer 25:00 # 25 minutes
45+ dstimer 7 # 7 seconds
46+ dstimer --time 1:30:17 # 1 hour 30 minutes 17 seconds
47+ dstimer 90 --audio /path/to/audio.wav # plays audio.wav after 90 seconds
48+ ```
49+
50+ ![ Demo with seconds and audio as arguments] ( demo_args_2.gif )
51+
5152### ** Inline mode** (` --inline ` / ` -i ` ):
5253
5354``` bash
54- dstimer -s 60 -- inline
55- dstimer --inline # interactive prompt stays inline too
55+ dstimer --inline # interactive prompt stays inline too
56+ dstimer 60 -i
5657```
5758
5859Renders the timer on the ** current terminal line** instead of taking over the full screen. Useful for scripts, split panes, or when you want the rest of your terminal history visible.
5960
61+ ![ Demo inline interactive mode] ( demo_inline_manual.gif )
6062![ Demo inline with -i -t 00:00:07 args] ( demo_inline_args_1.gif )
6163![ Demo inline with -i -t 00:00:07 -a "home/linuxg/Musik/Super Survivor.flac" args] ( demo_inline_args_2.gif )
62- ![ Demo inline interactive mode] ( demo_inline_manual.gif )
6364
6465## Install
6566
@@ -125,14 +126,8 @@ And a special shoutout to [VHS](https://github.com/charmbracelet/vhs) by Charm f
125126If you like using dstimer in your daily routine, consider buying me a coffee or sending a tip:
126127
127128[ Ko-fi] ( https://ko-fi.com/madlinux ) ·
128- [ Bitcoin] ( bitcoin:bc1qv45u88hnq4xec2l8yx0qfyx88nsn63wxleln0d ) ·
129- [ Monero] ( monero:42TKoMfUoEFbCsNdppQN4426zqCcgfTrad2YY8jQ7rPi9tRoLtuM9C4Ma1Q4f2L3pyLgpogwrJkeg2KuVADw3mj6Qzkhdgh ) ·
130- [ Ethereum] ( ethereum:0xC251CF4323e052EdcEd397f539CC0A91b9891047 ) ·
131- [ Solana] ( solana:cMxfUJSVGc1RUS5ncdKQSv9mcCpEuDbJxQx1wg79DVt ) ·
132- [ Litecoin] ( litecoin:ltc1qfddle7wknmgwen2scshmw42tykdxew5wc96858 ) ·
133- [ Cardano] ( web+cardano:addr1q9rsqmwf2spwnnnmth879323ssnaf92j7zj0pn6yhs23g7z8qpkuj4qza888khw0utz4rpp86j249u9y7r85f0q4z3uqxcwrsf ) ·
134- [ XRP] ( xrp:r9ZrXVAckZ3wepeprkVdszNbXTcDT7cCNS )
129+ [ Bitcoin] ( bitcoin:bc1qv45u88hnq4xec2l8yx0qfyx88nsn63wxleln0d )
135130
136131---
137132
138- Made with ♥️ by [ Linus Grolmes ] ( https://grolmes.de )
133+ Made with ♥️ by [ Linus] ( https://grolmes.de )
0 commit comments