36 Commits

Author SHA1 Message Date
Jens Krause
ca9d17f1ee
Rust 1.91.0 (#140) 2025-11-03 17:23:06 +01:00
Jens Krause
90c0e50f1c
Prepare v1.6.1 (#138) 2025-10-29 11:31:42 +01:00
Jens Krause
4ec52545e5
Prepare v1.6.0 (#134) 2025-10-16 14:44:19 +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
e11dcaa913
feat(event) persist state (#129)
* feat(event) persist state

* `Event::default()`
2025-10-14 10:18:53 +02:00
Jens Krause
6437795c9f
Prepare v1.5.0 (#116) 2025-10-03 12:55:43 +02:00
Jens Krause
ac2863cebc
upgrade deps (#113)
* run `cargo upgrade`

```sh
❯ cargo upgrade
    Checking timr-tui's dependencies
name               old req compatible latest new req
====               ======= ========== ====== =======
tokio              1.45.1  1.47.1     1.47.1 1.47.1
tokio-util         0.7.15  0.7.16     0.7.16 0.7.16
tracing-subscriber 0.3.19  0.3.20     0.3.20 0.3.20
clap               4.5.40  4.5.48     4.5.48 4.5.48
time               0.3.41  0.3.44     0.3.44 0.3.44
thiserror          2.0.12  2.0.17     2.0.17 2.0.17
   Upgrading recursive dependencies
     Locking 0 packages to latest Rust 1.90.0 compatible versions
note: pass `--verbose` to see 2 unchanged dependencies behind latest
note: Re-run with `--incompatible` to upgrade incompatible version requirements
note: Re-run with `--verbose` to show more dependencies
  incompatible: 4 packages
  latest: 8 packages
```

* fix(duration) `test_parse_duration_by_time` panics
2025-10-01 13:34:20 +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
0521c57695
Rust 1.90.0 (#95)
* Rust 1.90.0

* Make sound work again on Linux

Reverts changes of #77. It works before, but errors after updating to
Rust 1.90.0 and to latest Nix packages.
2025-09-26 17:05:28 +02:00
jk
f9a2e18179
ignore claude 2025-09-02 11:26:03 +02:00
Jens Krause
bac2e356e1
Prepare v1.4.0 (#92)
* Prepare v1.4.0

* cargo build
2025-09-02 11:19:07 +02:00
Jens Krause
637c1da21b
Rust 1.89.0 (#87) 2025-08-15 11:43:17 +02:00
Jens Krause
3439e4aa8d
Prepare v1.3.1 (#86)
* bump v1.3.1

* update CHANGELOG

* start workflow by `release/*` branches only but not by tags to avoid overriding releases.
2025-07-03 11:01:51 +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
93a3cde396
Rust 1.87.0 (#84)
* Rust 1.87.0

* nix flake update

* update CHANGELOG

* cargo upgrade

name         old req compatible latest new req
====         ======= ========== ====== =======
color-eyre   0.6.2   0.6.5      0.6.5  0.6.5
tokio        1.41.1  1.45.1     1.45.1 1.45.1
tokio-stream 0.1.16  0.1.17     0.1.17 0.1.17
tokio-util   0.7.12  0.7.15     0.7.15 0.7.15
clap         4.5.23  4.5.39     4.5.39 4.5.39
time         0.3.37  0.3.41     0.3.41 0.3.41
notify-rust  4.11.4  4.11.7     4.11.7 4.11.7
thiserror    2.0.11  2.0.12     2.0.12 2.0.12
2025-06-09 17:00:31 +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
028a067419
Prepare v1.2.1 (#74) 2025-04-17 12:26:13 +02:00
Jens Krause
28c5d7194c
Rust 1.86.0 (#73) 2025-04-13 21:37:47 +02:00
jk
e7a5a1b2da
exclude files for packaging 2025-02-26 12:31:18 +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
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
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
557fcf95f0
Prepare v1.1.0 (#58) 2025-01-22 10:55:20 +01:00
Jens Krause
59c99f4f5c
fix(build): statically linked binaries for linux (#55) 2025-01-22 09:43:51 +01:00
Jens Krause
b1efb1eb62
rust 1.84, update deps (#48)
- `nix flake update`
- `cargo update`
2025-01-11 16:48:37 +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
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
Jens K.
c9b444e91a
Persist app state (#21) 2024-12-22 18:56:55 +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.
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
Jens K.
b1e9b027a2
standard layout (#2) 2024-11-28 16:02:01 +01:00
Jens K.
b95d7ecfb2
initial structure + nix build (#1)
(incl. cross-compiling)
2024-11-27 20:57:43 +01:00