PowerToys/doc/devdocs/core/settings/compatibility-legacy-settings.md
Gleb Khmyznikov 725535b760
Some checks failed
Spell checking / Check Spelling (push) Has been cancelled
Spell checking / Report (Push) (push) Has been cancelled
Spell checking / Report (PR) (push) Has been cancelled
Spell checking / Update PR (push) Has been cancelled
[DevDocs] More content and restructure (#40165)
## Summary of the Pull Request
Accumulated information from internal transition about the modules
development, and reworked it to be added in dev docs. Also the dev docs
intself was restructured to be more organized. New pages was
verified by transition team.

## PR Checklist
- [x] **Dev docs:** Added/updated

---------

Co-authored-by: Zhaopeng Wang (from Dev Box) <zhaopengwang@microsoft.com>
Co-authored-by: Hao Liu <liuhao3418@gmail.com>
Co-authored-by: Peiyao Zhao <105847726+zhaopy536@users.noreply.github.com>
Co-authored-by: Mengyuan <162882040+chenmy77@users.noreply.github.com>
Co-authored-by: zhaopeng wang <33367956+wang563681252@users.noreply.github.com>
Co-authored-by: Jaylyn Barbee <51131738+Jaylyn-Barbee@users.noreply.github.com>
2025-07-01 14:27:34 +02:00

1.4 KiB

Compatibility with legacy settings and runner

The following must be kept in mind regarding compatibility with settings v1 and runner.

1. Folder Naming structure

  • Each of the modules has a folder within the Local/Microsoft/PowerToys directory which contains the module configurations within the settings.json file. The name of this folder must be the same across settingsv1 and settingsv2.
  • The name of the settings folder for each powertoy is the same as the ModuleName. It is set within each of the viewModel files. This name must not be changed to ensure that the user configurations for each of the powertoys rolls over on update.

2. Communication with runner

  • The status of each of the modules is communicated with the runner in the form of a json object. The names of all the powerToys is set in the EnableModules.cs file. The JsonPropertyName must not be changed to ensure that the information is dispatched properly to all the modules by the runner.

ImageResizer anomaly

All the powertoys have the same folder name as well as JsonPropertyName to communicate information with the runner. However that is not the case with ImageResizer. The folder name is ImageResizer whereas the JsonPropertyName is Image Resizer(Note the additional space). This should not be changed to ensure backward compatibility as well as proper functioning of the module.