Repository navigation
Integrate meeting planner into main window
Refresh GUI application
Slashtime had been a GTK application of long standing, but brings with it the enormous burden of a dependency on a graphics stack which may or may not be present. The initial port from the Java GTK bindings to Rust GTK bindings never really worked. Our use case is so narrow that, as an experiment, I tried porting the Rust application to the "immediate mode" emilk/egui instead, and, pleasantly, met with considerable success. The binary is a similar size but has no external dependencies.
This led us to then be able to iterate rapidly on the design. The particular constraint is that egui isn't really that suited to popping independent windows; it basically expects to manage an entire pane and whatever is inside it. So, trying to replicate the previous MeetingPlanner Dialog box was not working out very well. The only real purpose of the MeetingPlanner Dialog, though, was just to select the time, so I instead evolved to just doing the navigation using the keyboard in place in the main ZonesWindow. That turned out to work brilliantly, and so now we have a new, more compact, and easier to use version of Slashtime.
- Switch GUI framework to egui by @istathar in #12
- Fallback to system fonts by @istathar in #13
- Add GitHub Actions by @istathar in #14
Full Changelog: https://github.com/aesiniath/slashtime/commits/v0.7.1