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 KrauseandGitHub c96432779a (readme) add keybindings + toc (#78)
* (readme) add keybindings + toc
* update LICENSE
2025-04-30 14:19:13 +02:00
Jens KrauseandGitHub 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 KrauseandGitHub 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 KrauseandGitHub 90d9988e7a (pomodoro) count WORK rounds (#75) 2025-04-29 16:20:02 +02:00
Jens KrauseandGitHub 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 KrauseandGitHub 28c5d7194c Rust 1.86.0 (#73) 2025-04-13 21:37:47 +02:00
Jens KrauseandGitHub 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 KrauseandGitHub 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 KrauseandGitHub 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 KrauseandGitHub 6f0df4d488 Prepare v1.2.0 (#69)
* prepare v1.2.0

* update README

* update justfile
2025-02-26 12:11:54 +01:00
Jens KrauseandGitHub 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 KrauseandGitHub 843c4d019d set_panic_hook (#67) 2025-02-06 11:16:04 +01:00
Jens KrauseandGitHub e95ecb9e9c feat(notification): Animate (blink) clock entering done mode (#65)
Optional.
2025-02-05 19:29:56 +01:00
Jens KrauseandGitHub 886deb3311 fix(notification): remove callbacks in favour of mpsc messaging (#64) 2025-02-05 13:35:24 +01:00
Jens KrauseandGitHub 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 KrauseandGitHub a54b1b409a feat(clock): sound notification (experimental) (#62) 2025-02-04 17:28:41 +01:00
Jens KrauseandGitHub 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 KrauseandGitHub 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 KrauseandGitHub 557fcf95f0 Prepare v1.1.0 (#58) 2025-01-22 10:55:20 +01:00
Jens KrauseandGitHub ec18da0664 fix(ci): remove magic nix cache action (#57) 2025-01-22 09:56:28 +01:00
Jens KrauseandGitHub 59c99f4f5c fix(build): statically linked binaries for linux (#55) 2025-01-22 09:43:51 +01:00
Jens KrauseandGitHub 6d2bf5ac09 Edit countdown by local time (#49) 2025-01-13 18:44:56 +01:00
Jens KrauseandGitHub b1efb1eb62 rust 1.84, update deps (#48)
- `nix flake update`
- `cargo update`
2025-01-11 16:48:37 +01:00
Jens KrauseandGitHub 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 KrauseandGitHub 9ea9f88266 feat(countdown): persist elapsed time (#46) 2025-01-10 16:01:03 +01:00
Jens KrauseandGitHub c8af76c9e5 feat(countdown): rocket countdown (#45) 2025-01-08 18:52:18 +01:00
Jens KrauseandGitHub 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 KrauseandGitHub 8603a823e4 fix(footer): 12-hour format incl. tests (#43) 2025-01-06 19:22:02 +01:00
Jens KrauseandGitHub 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.andGitHub ea59a72cd0 Prepare release workflow (#40) 2025-01-03 16:21:38 +01:00
Jens K.andGitHub 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.andGitHub 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.andGitHub e674314207 fix(cli): invalid format of --help output (#36) 2025-01-01 14:51:12 +01:00
Jens K.andGitHub 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.andGitHub 9bfe4e528b extract clock elements (#28)
Few tests. Extract `Style` to `common`.
2024-12-28 12:32:27 +01:00
Jens K.andGitHub 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.andGitHub 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.andGitHub ae1a48e5e8 Progressbar (#25)
* Progressbar
* header
* label
* border
2024-12-25 12:21:36 +01:00
Jens K.andGitHub 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.andGitHub 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.andGitHub 98ee2bc16b menu: appearance + controls (#22) 2024-12-23 10:39:53 +01:00
Jens K.andGitHub c9b444e91a Persist app state (#21) 2024-12-22 18:56:55 +01:00
Jens K.andGitHub 2cf411e2ae more args: mode, style, decis (#20) 2024-12-21 18:00:46 +01:00
Jens K.andGitHub d705f20e2d deciseconds (#19) 2024-12-21 16:50:26 +01:00
Jens K.andGitHub ab10a38901 clock style (#18) 2024-12-18 13:51:22 +01:00
Jens K.andGitHub 3c9ae881c9 Editable timer (#17) 2024-12-18 08:49:57 +01:00
Jens K.andGitHub 3e278d63c5 refactor format (#16) 2024-12-18 08:29:07 +01:00
Jens K.andGitHub 8ddbc77baf handle hours (#15) 2024-12-17 11:16:53 +01:00
Jens K.andGitHub b7d6a6c139 Args (#14) 2024-12-14 18:24:51 +01:00
Jens K.andGitHub 6c7bedabe3 Pipe events into subviews (#13)
and match only unhandled events afterwards
2024-12-12 18:43:12 +01:00
Jens K.andGitHub 64300631c7 Editable Countdown (#12)
- Editable `Countdown`
- ASCII Symbols for `Clock` states
- Update labels
2024-12-12 14:16:05 +01:00
Jens K.andGitHub 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.andGitHub 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.andGitHub 6e6217bd21 alejandra (#9)
* alejandra
* update GH workflow
2024-12-04 13:41:09 +01:00
Jens K.andGitHub 634884d483 Logging (#8)
- Add `Logger`, `Config`
- Back to `nixos-unstable`
- `nix flake update`
2024-12-04 13:29:58 +01:00
Jens K.andGitHub b815b1f5eb wip 2024-12-03 17:14:05 +01:00
Jens K.andGitHub cbb6a60ee9 StatefulWidgets (#7)
* trait EventHandler
* StatefulWidget: AppWidget, CountdownWidget
* StatefulWidget: TimerWidget
2024-12-03 11:23:43 +01:00
Jens K.andGitHub 4f66ea86d4 Clock<T> (#6) 2024-12-02 17:54:47 +01:00
Jens K.andGitHub 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.andGitHub 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.andGitHub a9e573122d footer (#3) 2024-11-28 21:57:01 +01:00
Jens K.andGitHub b1e9b027a2 standard layout (#2) 2024-11-28 16:02:01 +01:00
Jens K.andGitHub b95d7ecfb2 initial structure + nix build (#1)
(incl. cross-compiling)
2024-11-27 20:57:43 +01:00
Jens K.andGitHub f4012856a4 Initial commit 2024-11-27 18:16:56 +01:00