Commit Graph
87 Commits
Author SHA1 Message Date
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 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) 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
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
jk 568515f65f add changelog 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
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
Jens K. d56434f2de demo time (#27) 2024-12-27 18:59:33 +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 0673b8e1dd update README 2024-12-26 20:06:28 +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
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. 3c9ae881c9 Editable timer (#17) 2024-12-18 08:49:57 +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. b7d6a6c139 Args (#14) 2024-12-14 18:24:51 +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 709224b31f unstable just 2024-12-06 16:05:28 +01:00
jk ec02821825 test: center|horizontal|vertical 2024-12-06 16:05:00 +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. 6e6217bd21 alejandra (#9)
* alejandra
* update GH workflow
2024-12-04 13:41:09 +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. 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
jk db5909f3d9 fix: main 2024-11-29 15:51:10 +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. a9e573122d footer (#3) 2024-11-28 21:57:01 +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
Jens K. f4012856a4 Initial commit 2024-11-27 18:16:56 +01:00