Jens Krause
95d914c757
feat(event) make date_time + title editable ( #130 )
...
* wip: editable events
* make it work
* fix: scroll position, title validation, underline
inputs to visualize edit mode
* show error
* prefix datetime
* refactor rendering inputs
* compact `EditMode`
* update footer to include `event` keybindings
* update README
2025-10-15 16:49:17 +02:00
Jens Krause
cb6c2d5142
feat(edit): 10x up/down ( #110 )
...
* feat(edit): 10x up/down
* fix `MAX_DURATION` (decisecond)
* footer: add `edit 10x` keybindings
* README: update keybindings
2025-09-30 12:38:25 +02:00
Jens Krause
6dc7eb81c2
fix(editable): auto jump to next possible editable while decreasing, but ignoring zero values ( #109 )
...
* extract `format_by_duration`
* fix(editable): switch to next ignoring zero values
2025-09-29 20:48:19 +02:00
Jens Krause
bfa40fd8f1
Rust 1.88.0 ( #85 )
...
* Rust 1.88.0
* nix flake update
* cargo upgrade
* lint
all `uninlined_format_args` related
@see https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
2025-06-28 11:39:22 +02:00
Jens Krause
52ed8267be
(pomodoro/countdown) Change initial value ( #79 )
...
- While editing, an user can apply changes as a new initial value (pomodoro/countdown only).
- New keybinding: `[^s]save initial value`
- Update keybinding: `[s]ave changes` (instead of `[Enter]`)
- Refactor event handling to re-structure `edit` / `non-edit` modes.
- Refactor footer to reflect latest keybindings
2025-05-02 12:39:26 +02:00
Jens Krause
e6291a3131
Update keybindings ( #76 )
...
* (pomodoro) reset both clocks at once
* quit app by pressing `q` only
* (countdown) enter/esc keybindings
* (timer) enter/esc keybindings
* (pomodoro) enter/esc keybindings
* update footer label
* fix(coundown): don't reset elapsed clock
while skipping editing changes
* fix(clock): order of actions matters for ESC
handling. Set `pause` instead of `initial` mode while toggeling back.
* fix(timer): order of actions matters (ESC key)
* (footer) update order, lowercase standard keys
2025-04-30 11:11:33 +02:00
Jens Krause
5b445afe25
fix(countdown): reset MET while editing by local time ( #72 )
2025-04-13 21:17:56 +02:00
Jens Krause
e95ecb9e9c
feat(notification): Animate (blink) clock entering done mode ( #65 )
...
Optional.
2025-02-05 19:29:56 +01:00
Jens Krause
886deb3311
fix(notification): remove callbacks in favour of mpsc messaging ( #64 )
2025-02-05 13:35:24 +01:00
Jens Krause
8f50bc5fc6
AppEvent (#61 )
...
Extend `events` to provide a `mpsc` channel to send `AppEvent`'s from
anywhere in the app straight to the `App`.
2025-02-04 15:05:02 +01:00
Jens Krause
d3c436da0b
feat: native desktop notifications (experimental) ( #59 )
...
* desktop notification by entering `Mode::DONE` for `countdown` and `pomodoro`
* remove redundant `on_done_called` check
* remove build warning (release only)
* log notification errors
* cli arg to enable desktop notifications
* persistant notification settings
* ctrl shortcut
* update changelog
* max timer notification
2025-01-28 19:28:34 +01:00
Jens Krause
6d2bf5ac09
Edit countdown by local time ( #49 )
2025-01-13 18:44:56 +01:00
Jens Krause
9ea9f88266
feat(countdown): persist elapsed time ( #46 )
2025-01-10 16:01:03 +01:00
Jens Krause
c8af76c9e5
feat(countdown): rocket countdown ( #45 )
2025-01-08 18:52:18 +01:00
Jens Krause
468b4a5abf
simplify style settings, improve naming ( #44 )
...
* simplify style settings by passing `style` directly to Widgets. No need to store it in `state` of widgets.
* remove unneeded things
* naming (state vs. widgets)
2025-01-07 19:02:57 +01:00
Jens K.
9bfe4e528b
extract clock elements ( #28 )
...
Few tests. Extract `Style` to `common`.
2024-12-28 12:32:27 +01:00
Jens K.
c9b444e91a
Persist app state ( #21 )
2024-12-22 18:56:55 +01:00
Jens K.
2cf411e2ae
more args: mode, style, decis ( #20 )
2024-12-21 18:00:46 +01:00
Jens K.
d705f20e2d
deciseconds ( #19 )
2024-12-21 16:50:26 +01:00
Jens K.
ab10a38901
clock style ( #18 )
2024-12-18 13:51:22 +01:00
Jens K.
3e278d63c5
refactor format ( #16 )
2024-12-18 08:29:07 +01:00
Jens K.
8ddbc77baf
handle hours ( #15 )
2024-12-17 11:16:53 +01:00
Jens K.
6c7bedabe3
Pipe events into subviews ( #13 )
...
and match only unhandled events afterwards
2024-12-12 18:43:12 +01:00
Jens K.
64300631c7
Editable Countdown ( #12 )
...
- Editable `Countdown`
- ASCII Symbols for `Clock` states
- Update labels
2024-12-12 14:16:05 +01:00
Jens K.
4c38ac368e
Pomodoro (editable) ( #11 )
2024-12-12 09:00:36 +01:00
jk
04d3dced63
src/clock.rs -> src/widgets/clock.rs
2024-12-06 15:24:23 +01:00
Jens K.
929e453d85
ClockWidget (#10 )
2024-12-05 17:25:09 +01:00
jk
b5f9147b45
Display for Clock<T>
2024-12-04 15:28:06 +01:00
Jens K.
cbb6a60ee9
StatefulWidgets (#7 )
...
* trait EventHandler
* StatefulWidget: AppWidget, CountdownWidget
* StatefulWidget: TimerWidget
2024-12-03 11:23:43 +01:00
Jens K.
4f66ea86d4
Clock<T> ( #6 )
2024-12-02 17:54:47 +01:00
Jens K.
2f587c97b5
Event handling ( #5 )
...
- Refactor `event` handling (heavily inspired by [crates-tui](https://github.com/ratatui/crates-tui/ ) via [Tui with Terminal and EventHandler](https://ratatui.rs/recipes/apps/terminal-and-event-handler/ ))
- Refactor widget structure
- Disable `nixos-unstable` temporarily
- Add `.rustfmt.toml`
2024-12-02 15:43:04 +01:00