141 Commits

Author SHA1 Message Date
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
jk
5ad09b9848
(demo) update menu 2025-05-02 12:52:35 +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
c96432779a
(readme) add keybindings + toc (#78)
* (readme) add keybindings + toc
* update LICENSE
2025-04-30 14:19:13 +02:00
Jens Krause
509cf73cdd
(flake) use alsa-lib-with-plugins (#77)
by following an idea from @camuward mentioned here https://github.com/143mailliw/muzak/pull/28#issuecomment-2833601152

Incl. another `nix flake update`.
2025-04-30 12:12:03 +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
028a067419
Prepare v1.2.1 (#74) 2025-04-17 12:26:13 +02:00
jk
675428cfb0
Update README v1.2.1 2025-04-17 08:31:40 +02:00
Jens Krause
28c5d7194c
Rust 1.86.0 (#73) 2025-04-13 21:37:47 +02:00
Jens Krause
5b445afe25
fix(countdown): reset MET while editing by local time (#72) 2025-04-13 21:17:56 +02:00
jk
beb12d5ec2
just: run with args 2025-04-13 19:19:46 +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
ffad78e093
fix(just): group commands (#70) 2025-02-26 14:58:54 +01: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
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
jk
97787f718d
remove editor settings (zed) 2025-01-26 18:49:14 +01:00
Jens Krause
557fcf95f0
Prepare v1.1.0 (#58) 2025-01-22 10:55:20 +01:00
Jens Krause
ec18da0664
fix(ci): remove magic nix cache action (#57) v1.1.0 2025-01-22 09:56:28 +01:00
Jens Krause
59c99f4f5c
fix(build): statically linked binaries for linux (#55) 2025-01-22 09:43:51 +01:00
Jens Krause
6d2bf5ac09
Edit countdown by local time (#49) 2025-01-13 18:44:56 +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
v1.0.0
2025-01-10 16:36:57 +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
Orhun Parmaksız
66c6d7fc46
docs: Add instructions for installing from the AUR (#41) 2025-01-06 09:06:15 +01:00
jk
568515f65f
add changelog v0.9.0 2025-01-03 16:34:00 +01:00
jk
ec297d4f37
enable ci workflows 2025-01-03 16:26:39 +01:00
Jens K.
ea59a72cd0
Prepare release workflow (#40) 2025-01-03 16:21:38 +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
75fadb3aff
format 2024-12-28 13:23:25 +01:00