* Initial scaffolding for expiration configuration
* Simplifying the code and adding support for expiration events
* Bit more cleanup
* Initial support for expirable keep-awake
* Update some of the threading logic
* Logging and timing consistency
* Initial UI scaffolding
* Fix pathing issue for the icon when using config file
* Add missing definitions
* Update with basic interface
* Cleanup redundant calls
* Update name per convention
* Simplify declaration
* Proper binding to secondary Time property
* Cleanup the terminology use
* Standardize naming conventions.
* More Awake cleanup
* Ability to update the UI when the tray icon updates
* Small tweaks before ViewModel refactor
* Refactor the view model logic
* Some consistency fixes
* Remove the build props change
* Add settings scaffolding when a file does not exist
* Update expect.txt
* Fix typos
* Update build in logs
* Updating based on discussion in #24183.
This specifically addresses the fact that the `ExpirationDateTime` property was incorrectly auto-initialized to `DateTime.MinValue` when it should've been set to `DateTimeOffset.MinValue` to be consistent with the underlying type and assumptions around date/time.
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Fix the path to the icon
* Need the reverse when not working in isolation
* Updating some tray behaviors
* Making sure we have constants separately, and a filter
* Update tray logic
* Remove unnecessary menus
* Cleaning up how exit is done.
* Adding handling for tray commands
* Update with settings for dynamic times
* Proper reaction to timed keep-awake from the tray
* Proper handling for timed keep-awake from the tray
* Making sure that code analysis works correctly
* Making sure that errors are set in native calls
* Making sure the right icon path is used after testing
* Proper disposal of the context menu
* Fix tray designation
* Update with latest information on changes to the builds
* Update with guidance on files
* Update changelog doc
* Fix project file
* Remove `VTABLE`