diff --git a/README.md b/README.md index c30d894..082c78a 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,55 @@ **Pronounced `/ˈtʌɪmə/` or `/ˈtaɪmər/`.** -# About - -`tim:r` is a TUI app to help you to organize one of the most important thing you have in live: `time`! +`tim:r` is a TUI app to help organize one of the most important thing you might have in live: `time`! - `[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](https://en.wikipedia.org/wiki/Pomodoro_Technique). +It's built with [`Ratatui`](https://ratatui.rs/) written in [Rust 🦀](https://www.rust-lang.org/). -It's built with [`ratatui`](https://ratatui.rs/) ([Rust](https://www.rust-lang.org/)). +# Preview +_Side note:_ Theme colors depend on your terminal preferences. -# Screens +## Pomodoro -_soon_ + + pomodoro + -# Args +## Timer + + + pomodoro + + +## Countdown + + + countdown + + +## Change style + + + style + + +## Toggle deciseconds + + + deciseconds + + +## Menu + + + menu + + +# Args ⚙️ ```sh Usage: timr [OPTIONS] @@ -34,7 +66,7 @@ Options: -h, --help Print help ``` -# Build from source +# Build from source 🔧 ## Requirements diff --git a/demo/countdown.gif b/demo/countdown.gif new file mode 100644 index 0000000..e9f82e0 Binary files /dev/null and b/demo/countdown.gif differ diff --git a/demo/countdown.tape b/demo/countdown.tape new file mode 100644 index 0000000..2985431 --- /dev/null +++ b/demo/countdown.tape @@ -0,0 +1,33 @@ +Output demo/countdown.gif + +# https://github.com/charmbracelet/vhs/blob/main/THEMES.md +Set Theme "Builtin Solarized Light" + +Set FontSize 14 +Set Width 800 +Set Height 400 +Set Padding 0 +Set Margin 1 + +# --- START --- +Set LoopOffset 4 +Hide +Type "cargo run -- -r -d -m c" +Enter +Sleep 0.2 +Show +# --- COUNTDOWN --- +Sleep 1 +Type "s" +Sleep 1.4 +Type "s" +Sleep 0.3 +Type "s" +Sleep 0.3 +Type "e" +Sleep 0.1 +Down@10ms 65 +Sleep 0.1 +Type "e" +Sleep 0.1 +Sleep 3 diff --git a/demo/decis.gif b/demo/decis.gif new file mode 100644 index 0000000..6116ec8 Binary files /dev/null and b/demo/decis.gif differ diff --git a/demo/decis.tape b/demo/decis.tape new file mode 100644 index 0000000..0aeadd9 --- /dev/null +++ b/demo/decis.tape @@ -0,0 +1,23 @@ +Output demo/decis.gif + +# https://github.com/charmbracelet/vhs/blob/main/THEMES.md +Set Theme "nord-light" + +Set FontSize 14 +Set Width 800 +Set Height 400 +Set Padding 0 +Set Margin 1 + +# --- START --- +Set LoopOffset 4 +Hide +Type "cargo run -- -r -m t" +Enter +Sleep 0.2 +Show +# --- STYLES --- +Type "s" +Sleep 0.2 +Type@0.4s "......." +Sleep 0.2 diff --git a/demo/menu.gif b/demo/menu.gif new file mode 100644 index 0000000..419350d Binary files /dev/null and b/demo/menu.gif differ diff --git a/demo/menu.tape b/demo/menu.tape new file mode 100644 index 0000000..7c6923a --- /dev/null +++ b/demo/menu.tape @@ -0,0 +1,30 @@ +Output demo/menu.gif + +# https://github.com/charmbracelet/vhs/blob/main/THEMES.md +Set Theme "Apple Classic" + +Set FontSize 14 +Set Width 800 +Set Height 400 +Set Padding 0 +Set Margin 1 + +# --- START --- +Set LoopOffset 4 +Hide +Type "cargo run -- -r -m p" +Enter +Sleep 0.2 +Show +# --- STYLES --- +Sleep 0.5 +Type "m" +Sleep 0.5 +Type@0.5s "t" +Type@0.5s "c" +Type@0.5s "p" +Type@0.5s "e" +Right@0.5s +Left@0.5s +Type@0.5s "e" +Sleep 0.5 diff --git a/demo/pomodoro.gif b/demo/pomodoro.gif new file mode 100644 index 0000000..b49bf2c Binary files /dev/null and b/demo/pomodoro.gif differ diff --git a/demo/pomodoro.tape b/demo/pomodoro.tape new file mode 100644 index 0000000..ef61760 --- /dev/null +++ b/demo/pomodoro.tape @@ -0,0 +1,39 @@ +Output demo/pomodoro.gif + +# https://github.com/charmbracelet/vhs/blob/main/THEMES.md +Set Theme "Catppuccin Frappe" + +Set FontSize 14 +Set Width 800 +Set Height 400 +Set Padding 0 +Set Margin 1 + +# --- START --- +Set LoopOffset 4 +Hide +Type "cargo run -- -r -d -m p" +Enter +Sleep 0.2 +Show +# --- POMODORO WORK --- +Sleep 1 +Type "s" +Sleep 2.3 +Type "e" +Sleep 0.2 +Down@30ms 80 +Sleep 100ms +Type "e" +Sleep 3 +# --- POMODORO PAUSE --- +Right +Sleep 0.5 +Type "s" +Sleep 2.3 +Type "e" +Sleep 0.2 +Down@30ms 60 +Sleep 100ms +Type "e" +Sleep 3 diff --git a/demo/style.gif b/demo/style.gif new file mode 100644 index 0000000..a2cd076 Binary files /dev/null and b/demo/style.gif differ diff --git a/demo/style.tape b/demo/style.tape new file mode 100644 index 0000000..ebe8887 --- /dev/null +++ b/demo/style.tape @@ -0,0 +1,24 @@ +Output demo/style.gif + +# https://github.com/charmbracelet/vhs/blob/main/THEMES.md +Set Theme "OneDark" + +Set FontSize 14 +Set Width 800 +Set Height 400 +Set Padding 0 +Set Margin 1 + +# --- START --- +Set LoopOffset 4 +Hide +Type "cargo run -- -r -d -m c" +Enter +Sleep 0.2 +Show +# --- STYLES --- +Sleep 0.5 +Type "s" +Sleep 0.5 +Type@0.7s ",,,,,," +Sleep 1 diff --git a/demo/timer.gif b/demo/timer.gif new file mode 100644 index 0000000..4028963 Binary files /dev/null and b/demo/timer.gif differ diff --git a/demo/timer.tape b/demo/timer.tape new file mode 100644 index 0000000..41e1370 --- /dev/null +++ b/demo/timer.tape @@ -0,0 +1,31 @@ +Output demo/timer.gif + +# https://github.com/charmbracelet/vhs/blob/main/THEMES.md +Set Theme "Belafonte Day" + +Set FontSize 14 +Set Width 800 +Set Height 400 +Set Padding 0 +Set Margin 1 + +# --- START --- +Set LoopOffset 4 +Hide +Type "cargo run -- -r -d -m t" +Enter +Sleep 0.2 +Show +# --- TIMER --- +Type "s" +Sleep 1.4 +Type "s" +Sleep 0.3 +Type "s" +Sleep 0.3 +Type "e" +Sleep 0.2 +Up@30ms 57 +Sleep 0.7 +Type "e" +Sleep 4 diff --git a/justfile b/justfile index 7eda981..18c831d 100644 --- a/justfile +++ b/justfile @@ -31,3 +31,28 @@ lint: # run app run: cargo run + +# demos +alias dp := demo-pomodoro +demo-pomodoro: + vhs demo/pomodoro.tape + +alias dt := demo-timer +demo-timer: + vhs demo/timer.tape + +alias dc := demo-countdown +demo-countdown: + vhs demo/countdown.tape + +alias ds := demo-style +demo-style: + vhs demo/style.tape + +alias dd := demo-decis +demo-decis: + vhs demo/decis.tape + +alias dm := demo-menu +demo-menu: + vhs demo/menu.tape