40 Commits

Author SHA1 Message Date
Jens Krause
1742d68c61
update all demos (#135)
- new size: `1000x500`
- remove deprecated demos
- `just da`: build all demos
- update README
2025-10-19 19:02:04 +02:00
Jens Krause
dfe3cfcc80
add AGENTS.md (#133)
* add `AGENTS.md`
* update README
2025-10-16 12:01:50 +02:00
Jens Krause
361a82ee08
demo: event (#131)
* demo: event

* update README

* update CL
2025-10-15 17:00:57 +02:00
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
51f83e5b06
feat(screens)! switch by using or keys (#127)
* feat(screens) switch by `←` or `→` keys

* test cycling `Content` using `next`/`prev`

* update CL
2025-10-13 13:28:51 +02:00
Jens Krause
b5f3c709bf
(keybindings)! change keys for screens (#126) 2025-10-13 12:46:32 +02:00
Jens Krause
56e6ce66fa
feat(cli) parse event (#125)
* feat(cli) parse `event`

* check possible `Event` for `mode`

* m.bros
2025-10-13 11:54:06 +02:00
Jens Krause
99032834be
(cli)! Remove --countdown-target argument (#121)
Reverts #112.

For targeting a date (past/future) a new `event` feature will be
introduced (soon).
2025-10-08 18:03:06 +02:00
Jens Krause
eb376e4015
feat(args): accept years and days for --countdown (#114) 2025-10-01 15:26:02 +02:00
Jens Krause
3f4acec9f5
feat(args): parse countdown by given time (past or future) (#112)
* feat(args): parse `countdown` by time

* fix lint

No `Default` for `AppTime` needed...

* app: pass `countdown_until` down

* fix `parse_duration_by_time` and `parse_duration`

to handle different formats they support

* fix(countdown): percentage panics

`Duration::ZERO` needs to be considered

* `DirectedDuration`

* fix comment

* rename arg: `countdown-target`

* `ss`->`mm`, fix formats, update README

* alias `--ct`
2025-10-01 12:40:27 +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
24eb471df8
Contributing guidelines (initial version) (#94) 2025-09-26 17:07:34 +02:00
Jens Krause
60392b40ed
demo: local time (#91) 2025-08-30 22:06:51 +02:00
Jens Krause
c370d3096b
Prepare v1.3.0 (#80)
* Prepare v1.3.0
* readme: fix keybindings
* update changelog
2025-05-06 11:46: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
Jens Krause
c96432779a
(readme) add keybindings + toc (#78)
* (readme) add keybindings + toc
* update LICENSE
2025-04-30 14:19:13 +02:00
jk
675428cfb0
Update README 2025-04-17 08:31:40 +02:00
Jens Krause
ffad78e093
fix(just): group commands (#70) 2025-02-26 14:58:54 +01:00
Jens Krause
6f0df4d488
Prepare v1.2.0 (#69)
* prepare v1.2.0

* update README

* update justfile
2025-02-26 12:11:54 +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
e95ecb9e9c
feat(notification): Animate (blink) clock entering done mode (#65)
Optional.
2025-02-05 19:29:56 +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
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
4ee5d7b4e9
Prepare v1.0.0 (#47)
* update README
* update CHANGELOG
* update demo
* bump v1.0.0
2025-01-10 16:36:57 +01:00
Orhun Parmaksız
66c6d7fc46
docs: Add instructions for installing from the AUR (#41) 2025-01-06 09:06:15 +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
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.
7312ad51d8
fix: use data_local_dir if state_dir not found (#31)
Fixes #30
2024-12-30 19:56:27 +01:00
Jens K.
d56434f2de
demo time (#27) 2024-12-27 18:59:33 +01:00
jk
0673b8e1dd
update README 2024-12-26 20:06:28 +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.
2cf411e2ae
more args: mode, style, decis (#20) 2024-12-21 18:00:46 +01:00
Jens K.
b7d6a6c139
Args (#14) 2024-12-14 18:24:51 +01:00
Jens K.
634884d483
Logging (#8)
- Add `Logger`, `Config`
- Back to `nixos-unstable`
- `nix flake update`
2024-12-04 13:29:58 +01:00
Jens K.
b815b1f5eb
wip 2024-12-03 17:14:05 +01:00
Jens K.
3d0d55c8d8
rustfmt, clippy, gh actions, justfile, Default app (#4)
* `Default` app
* add zed settings
* add justfile
* flake: update devShell, ignore tests, add `just`
* update README
* gh actions: lint, format, tests. build
2024-11-29 15:49:55 +01:00
Jens K.
b95d7ecfb2
initial structure + nix build (#1)
(incl. cross-compiling)
2024-11-27 20:57:43 +01:00
Jens K.
f4012856a4
Initial commit 2024-11-27 18:16:56 +01:00