Releases: aesiniath/slashtime
Release list
Move and Resize the application window
Relocate and Resize
The Slashtime window can now be moved around and relocated on the screen by clicking and dragging.
We've also added the ability to change the size of the window. Pressing <Ctrl>+<+> will scale the window up if the user desires larger text, pressing <Ctrl>+<-> will make the window smaller, and <Ctrl>+<0> will reset the window size back to the 1.0 default. The chosen scale is written to a config file so that it can be restored when the application is next restarted.
Meeting planner navigation
Speaking of keystrokes, pressing <M> takes you to the "meeting planner", where the displayed time can be adjusted to enable planning a meeting with people elsewhere in the world. The time shown can be changed in 15 minute increments with <Up> and <Down>. The day can be changed with <Left> and <Right>, and pressing <PageUp> or <PageDown> will change the month.
Output
Clicking on a row selects the row. Pressing <Enter> will then output the time at the selected cities to stdout; <Ctrl>+<C> will copy it to the clipboard. <Esc> resets.
- Allow main window to be moved by clicking and dragging by @istathar in #15
- Repository Cleanup by @istathar in #16
- Allow window resizing by @istathar in #17
Full Changelog: v0.7.1...v0.7.2
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