jk
40eb602953
tests
2025-09-28 10:40:34 +02:00
jk
d5bf7f32a6
feat(timer|c-dwn): show/edit years + days
2025-09-28 10:40:34 +02:00
jk
9ff65e5c8e
feat(duration): days and years
2025-09-28 10:40:34 +02:00
Jens Krause
901cf69472
feat(screen): LocalTime ( #90 )
2025-08-30 21:48:56 +02:00
Jens Krause
c494f0e829
refactor(footer): AppTimeFormat data handling ( #89 )
...
- Extract local state of `app_time_format` from `footer` to have it globally available
- Add a deserialization fallback for deprecated `AppTimeFormat::Hidden`
- Persist `footer_app_time` toggle state
2025-08-27 19:44:02 +02:00
jk
5bc37f005f
lint again
...
in addition to #88 , especially 78f5269
2025-06-28 11:49:21 +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
d27587a44a
fix(pomodoro): ctrl+r resets rounds + both clocks ( #83 )
2025-05-20 10:01:29 +02:00
Jens Krause
5f4c5bb8ed
(pomodoro) reset active clock only ( #82 )
...
It reverts changes of cc35f20f3e
2025-05-13 11:00:56 +02:00
Jens Krause
44af71c01c
(args) set content by given duration ( #81 )
2025-05-12 12:14:27 +02:00
jk
aae5c38cd6
fix(footer): hide option to save initial value
...
for timer. Available 4 pomodoro + countdown only.
2025-05-06 11:25:29 +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
jk
6b068bbd09
fix(pomodoro) add empty line to keep content
...
centered vertically comparing to other views (which have one label below the clock only)
In addition to #75 .
2025-04-30 14:27:30 +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
90d9988e7a
(pomodoro) count WORK rounds ( #75 )
2025-04-29 16:20:02 +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
d9399eafc9
fix(countdown): Reset MET if countdown is set by cli arguments ( #71 )
...
* fix: Reset MET if countdown is set by args
* update CHANGELOG
2025-03-03 12:21:17 +01:00
Jens Krause
3d9b235f12
Rust 1.85.0 + Rust 2024 Edition (#68 )
...
- Add `rust-toolchain.toml`
- Refactor `flake` to consider `rust-toolchain.toml`, especially Rust version
- `just`: Add run-sound command
- Ignore sound files
- Format
2025-02-25 20:30:20 +01:00
jk
e094d7d81b
feat(logging): add --log arg to enable logs
...
and/or to pass a custom log directory.
2025-02-06 20:33:52 +01:00
Jens Krause
843c4d019d
set_panic_hook (#67 )
2025-02-06 11:16:04 +01: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
7ff167368d
--features sound (#63 )
...
to enable `sound` notification for local builds only. Needed to avoid
endless issues by building the app for different platforms. Sound
support can be hard.
2025-02-04 17:39:50 +01:00
Jens Krause
a54b1b409a
feat(clock): sound notification (experimental) ( #62 )
2025-02-04 17:28:41 +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 Krause
8603a823e4
fix(footer): 12-hour format incl. tests ( #43 )
2025-01-06 19:22:02 +01:00
Jens Krause
94bdeeab11
feat(footer): show local time ( #42 )
2025-01-06 18:31:22 +01:00
Jens K.
847367f51e
Prepare publish ( #39 )
...
* refactor!: rename `.data` and `.log` files
- `timr.data` -> `app.data`
- `timr.log` -> `app.log`
* refactor!: rename app name `timr` -> `timr-tui`
* docs: update README (paths, names, installation)
* update Cargo.toml
* fix(release): warning: unused variable: `log_dir`
2025-01-02 12:16:56 +01:00
jk
f3a6e073e2
don't restrict countdown edit
...
(see #33 )
2025-01-01 18:51:24 +01:00
jk
e4dcf61153
move parse_duration into duration module
2025-01-01 18:23:19 +01:00
Jens K.
a4f8885eb1
feat(cli): arg --menu ( #37 )
...
- Add `--menu` to args
- Add `--version` to args
- Change default behavior: At a first run of the app, the menu will be shown by default (similar to what @tschinz suggested in #33 ). However, if an user hides the menu later and closes the app, the menu will be hidden again with a next start. Just because the app restores the last app state.
2025-01-01 15:13:10 +01:00
Jens K.
e674314207
fix(cli): invalid format of --help output ( #36 )
2025-01-01 14:51:12 +01:00
Jens K.
7312ad51d8
fix: use data_local_dir if state_dir not found ( #31 )
...
Fixes #30
2024-12-30 19:56:27 +01:00
jk
88293898f6
clippy
2024-12-28 13:23:38 +01:00
jk
7206714f96
extract Content into common
2024-12-28 13:18:43 +01:00
Jens K.
9bfe4e528b
extract clock elements ( #28 )
...
Few tests. Extract `Style` to `common`.
2024-12-28 12:32:27 +01:00
jk
5eb831457b
progressbar: remove label
2024-12-27 18:34:56 +01:00
jk
49365d3db4
fix: tick timer
2024-12-27 18:34:12 +01:00
jk
3ea715f83b
fix: initial values via args
2024-12-26 20:03:55 +01:00
Jens K.
ca81094a36
fix edits ( #26 )
...
incl. editing `deciseconds` + more tests
2024-12-26 20:03:22 +01:00
jk
ed7c17caf9
DurationEx
2024-12-26 15:14:41 +01:00
Jens K.
ae1a48e5e8
Progressbar ( #25 )
...
* Progressbar
* header
* label
* border
2024-12-25 12:21:36 +01:00
Jens K.
acb627b1d7
Add styles: Light, Medium, Dark, Braille ( #24 )
...
* add `Style::Braille`, use ratatui's shades/arrows
* update args
* update README
2024-12-23 15:13:06 +01:00
Jens K.
d86f8905f2
Cleanup ( #23 )
...
* simplify footer
* improve: &T vs. &mut T
* remove header
* adjust table space
* update README
2024-12-23 14:24:15 +01:00
Jens K.
98ee2bc16b
menu: appearance + controls ( #22 )
2024-12-23 10:39:53 +01:00