# Features - Manage events and repeated events. - Store events in a single SQLite file. - List today’s events with CLI option `--list-today`. # Screenshot ![Screenshot](screenshot.png) # Links - gtk4-rs book: https://gtk-rs.org/gtk4-rs/git/book/ - gtk4-rs documentation: https://gtk-rs.org/gtk4-rs/stable/latest/docs/gtk4/ - Event-Driven GTK by Example — 2021 Edition: https://mmstick.github.io/gtkrs-tutorials/ # Getting started Bootstrap a shell with all the required dependencies with `nix develop` (requires nix). Start the application with: ```bash cargo run ``` Run tests with: ```bash cargo test ``` Get today’s events with: ```bash cargo run -- --list-today ``` # TODO - Add description textarea field - More visible months ## Categories CRUD 1. Add category form 2. Show categories 3. Update category 4. Delete category ## Optimizations - Optimize refresh. https://users.rust-lang.org/t/profilers-and-how-to-interpret-results-on-recursive-functions/13222 ## Multi day events - Try width parameter using grid.attach. ## Nice to have - Drag & drop events. - Prevent launching multiple instances. - Show a date picker in dialog form. - Print errors on forms when validating. - Validate the form when pressing enter on any field. - Select the default focus with a button or a shortcut.