PowerToys/doc/planning/awake.md
Den Delimarsky d7617a47d3
[Awake] Context menu bug fixes (#16903)
* 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`
2022-03-23 14:46:37 +00:00

2.0 KiB

last-update
3-20-2022

PowerToys Awake Changelog

Builds

The build ID can be found in NLog.config - it is a unique identifier for the current builds that allows better diagnostics (we can look up the build ID from the logs) and offers a way to triage Awake-specific issues faster independent of the PowerToys version. The build ID does not carry any significance beyond that within the PowerToys code base.

Build ID Build Date
LIBRARIAN_03202022 March 20, 2022
ARBITER_01312022 January 31, 2022

LIBRARIAN_03202022 (March 20, 2022)

  • Changed the tray context menu to be following OS conventions instead of the style offered by Windows Forms. This introduces better support for DPI scaling and theming in the future.
  • Custom times in the tray can now be configured in the settings.json file for awake, through the tray_times property. The property values are representative of a Dictionary<string, int> and can be in the form of "YOUR_NAME": LENGTH_IN_SECONDS:
{
    "properties": {
        "awake_keep_display_on": true,
        "awake_mode": 2,
        "awake_hours": 0,
        "awake_minutes": 3,
        "tray_times": {
            "Custom length": 1800,
            "Another custom length": 3600
        }
    },
    "name": "Awake",
    "version": "1.0"
}
  • Proper Awake background window closure was implemented to ensure that the process collects the correct handle instead of the empty one that was previously done through System.Diagnostics.Process.GetCurrentProcess().CloseMainWindow(). This likely can help with the Awake process that is left hanging after PowerToys itself closes.