doc/devdocs/core/architecture.md
Each PowerToys utility is defined by a module interface (DLL) that provides a standardized way for the PowerToys Runner to interact with it. The module interface defines:
Simple Modules (like Mouse Pointer Crosshairs, Find My Mouse)
External Application Launchers (like Color Picker)
Context Handler Modules (like Power Rename)
Registry-based Modules (like Power Preview)
common folder for reuse across modulesFor C++ applications and module interfaces:
Different resource approaches:
PRI file naming requirements:
RunnerThe PowerToys Runner contains the project for the PowerToys.exe executable. It's responsible for:
InterfaceThe definition of the interface used by the runner to manage the PowerToys. All PowerToys must implement this interface.
CommonThe common lib, as the name suggests, contains code shared by multiple PowerToys components and modules, e.g. json parsing and IPC primitives.
SettingsSettings v2 is our current settings implementation. Please head over to the dev docs that describe the current settings system.