forked from microsoft/PowerToys
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# This is a combination of 2 commits.
# This is the 1st commit message: docs: split usage and dev docs # The commit message #2 will be skipped: # fixup add docs
- Loading branch information
Showing
5 changed files
with
57 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,45 @@ | ||
# Classes and structures | ||
|
||
#### class Animation: [header](./animation.h) [source](./animation.cpp) | ||
#### class Animation: [header](/src/common/animation.h) [source](/src/common/animation.cpp) | ||
Animation helper class with two easing-in animations: linear and exponential. | ||
|
||
#### class AsyncMessageQueue: [header](./async_message_queue.h) | ||
#### class AsyncMessageQueue: [header](/src/common/async_message_queue.h) | ||
Header-only asynchronous message queue. Used by `TwoWayPipeMessageIPC`. | ||
|
||
#### class TwoWayPipeMessageIPC: [header](./two_way_pipe_message_ipc.h) | ||
#### class TwoWayPipeMessageIPC: [header](/src/common/two_way_pipe_message_ipc.h) | ||
Header-only asynchronous IPC messaging class. Used by the runner to communicate with the settings window. | ||
|
||
#### class D2DSVG: [header](./d2d_svg.h) [source](./d2d_svg.cpp) | ||
#### class D2DSVG: [header](/src/common/d2d_svg.h) [source](/src/common/d2d_svg.cpp) | ||
Class for loading, rendering and for some basic modifications of SVG graphics. | ||
|
||
#### class D2DText: [header](./d2d_text.h) [source](./d2d_text.cpp) | ||
#### class D2DText: [header](/src/common/d2d_text.h) [source](/src/common/d2d_text.cpp) | ||
Class for rendering text using DirectX. | ||
|
||
#### class D2DWindow: [header](./d2d_window.h) [source](./d2d_window.cpp) | ||
#### class D2DWindow: [header](/src/common/d2d_window.h) [source](/src/common/d2d_window.cpp) | ||
Base class for creating borderless windows, with DirectX enabled rendering pipeline. | ||
|
||
#### class DPIAware: [header](./dpi_aware.h) [source](./dpi_aware.cpp) | ||
#### class DPIAware: [header](/src/common/dpi_aware.h) [source](/src/common/dpi_aware.cpp) | ||
Helper class for creating DPI-aware applications. | ||
|
||
#### struct MonitorInfo: [header](./monitors.h) [source](./monitors.cpp) | ||
#### struct MonitorInfo: [header](/src/common/monitors.h) [source](/src/common/monitors.cpp) | ||
Class for obtaining information about physical displays connected to the machine. | ||
|
||
#### class Settings, class PowerToyValues, class CustomActionObject: [header](./settings_objects.h) [source](./settings_objects.cpp) | ||
#### class Settings, class PowerToyValues, class CustomActionObject: [header](/src/common/settings_objects.h) [source](/src/common/settings_objects.cpp) | ||
Classes used to define settings screens for the PowerToys modules. | ||
|
||
#### class Tasklist: [header](./tasklist_positions.h) [source](./tasklist_positions.cpp) | ||
#### class Tasklist: [header](/src/common/tasklist_positions.h) [source](/src/common/tasklist_positions.cpp) | ||
Class that can detect the position of the windows buttons on the taskbar. It also detects which window will react to pressing `WinKey + number`. | ||
|
||
#### struct WindowsColors: [header](./windows_colors.h) [source](./windows_colors.cpp) | ||
#### struct WindowsColors: [header](/src/common/windows_colors.h) [source](/src/common/windows_colors.cpp) | ||
Class for detecting the current Windows color scheme. | ||
|
||
# Helpers | ||
|
||
#### Common helpers: [header](./common.h) [source](./common.cpp) | ||
#### Common helpers: [header](/src/common/common.h) [source](/src/common/common.cpp) | ||
Various helper functions. | ||
|
||
#### Settings helpers: [header](./settings_helpers.h) | ||
#### Settings helpers: [header](/src/common/settings_helpers.h) | ||
Helper methods for the settings. | ||
|
||
#### Start visible helper: [header](./start_visible.h) [source](./start_visible.cpp) | ||
#### Start visible helper: [header](/src/common/start_visible.h) [source](/src/common/start_visible.cpp) | ||
Contains function to test if the Start menu is visible. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
#### [`dllmain.cpp`](./dllmain.cpp) | ||
#### [`dllmain.cpp`](/src/modules/example_powertoy/dllmain.cpp) | ||
Contains DLL boilerplate code and implementation of the [PowerToys interface](/src/modules/interface/). | ||
|
||
#### [`trace.cpp`](./trace.cpp) | ||
#### [`trace.cpp`](/src/modules/example_powertoy/trace.cpp) | ||
Contains code for telemetry. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,36 @@ | ||
#### [`main.cpp`](./main.cpp) | ||
Contains the executable starting point, initialization code and the list of known PowerToys. | ||
#### [`main.cpp`](/src/runner/main.cpp) | ||
Contains the executable starting point, initialization code and the list of known PowerToys. All singletones are also initialized here at the start. Loads all the powertoys by scanning the `./modules` folder and `enable()`s those makred as enabled in `%LOCALAPPDATA%\Microsoft\PowerToys\settings.json` config. Then it runs [a message loop](https://docs.microsoft.com/en-us/windows/win32/winmsg/using-messages-and-message-queues) for the tray UI. Note that this message loop also [handles lowlevel_keyboard_hook events](https://github.com/microsoft/PowerToys/blob/1760af50c8803588cb575167baae0439af38a9c1/src/runner/lowlevel_keyboard_event.cpp#L24). | ||
|
||
#### [`powertoy_module.h`](./powertoy_module.h) and [`powertoy_module.cpp`](./powertoy_module.cpp) | ||
Contains code for initializing and managing the PowerToy modules. | ||
|
||
#### [`powertoys_events.cpp`](./powertoys_events.cpp) | ||
Contains code that handles the various events listeners, and forwards those events to the PowerToys modules. | ||
#### [`general_settings.cpp`](./general_settings.cpp) | ||
#### [`powertoy_module.h`](/src/runner/powertoy_module.h) and [`powertoy_module.cpp`](/src/runner/powertoy_module.cpp) | ||
Contains code for initializing and managing the PowerToy modules. `PowertoyModule` is a RAII-style holder for the `PowertoyModuleIface` pointer, which we got by [invoking module DLL's `powertoy_create` function](https://github.com/microsoft/PowerToys/blob/1760af50c8803588cb575167baae0439af38a9c1/src/runner/powertoy_module.cpp#L13-L24). | ||
|
||
#### [`lowlevel_keyboard_event.cpp`](./lowlevel_keyboard_event.cpp) | ||
Contains code for registering the low level keyboard event hook that listens for keyboard events. | ||
#### [`powertoys_events.cpp`](/src/runner/powertoys_events.cpp) | ||
Contains code that handles the various events listeners, and forwards those events to the PowerToys modules. You can learn more about the current event architecture [here](/doc/devdocs/shared-hooks.md). | ||
|
||
#### [`win_hook_event.cpp`](./win_hook_event.cpp) | ||
Contains code for registering a Windows event hook through `SetWinEventHook`, that listens for various events raised when a window is interacted with. | ||
#### [`lowlevel_keyboard_event.cpp`](/src/runner/lowlevel_keyboard_event.cpp) | ||
Contains code for registering the low level keyboard event hook that listens for keyboard events. Please note that `signal_event` is called from the main thread for this event. | ||
|
||
#### [`tray_icon.cpp`](./tray_icon.cpp) | ||
Contains code for managing the PowerToys tray icon and its menu commands. | ||
#### [`win_hook_event.cpp`](/src/runner/win_hook_event.cpp) | ||
Contains code for registering a Windows event hook through `SetWinEventHook`, that listens for various events raised when a window is interacted with. Please note, that `signal_event` is called from a separate `dispatch_thread_proc` worker thread, so you must provide thread-safety for your `signal_event` if you intend to receive it. This is a subject to change. | ||
|
||
#### [`settings_window.cpp`](./settings_window.cpp) | ||
Contains code for starting the PowerToys settings window and communicating with it. | ||
#### [`tray_icon.cpp`](/src/runner/tray_icon.cpp) | ||
Contains code for managing the PowerToys tray icon and its menu commands. Note that `dispatch_run_on_main_ui_thread` is used to | ||
transfer received json message from the [Settings window](/doc/devdocs/settings.md) to the main thread, since we're communicating with it from [a dedicated thread](https://github.com/microsoft/PowerToys/blob/7357e40d3f54de51176efe54fda6d57028837b8c/src/runner/settings_window.cpp#L267-L271). | ||
#### [`settings_window.cpp`](/src/runner/settings_window.cpp) | ||
Contains code for starting the PowerToys settings window and communicating with it. Settings window is a separate process, so we're using [Windows pipes](https://docs.microsoft.com/en-us/windows/win32/ipc/pipes) as a transport for json messages. | ||
|
||
#### [`general_settings.cpp`](./general_settings.cpp) | ||
#### [`general_settings.cpp`](/src/runner/general_settings.cpp) | ||
Contains code for loading, saving and applying the general setings. | ||
|
||
#### [`auto_start_helper.cpp`](./auto_start_helper.cpp) | ||
#### [`auto_start_helper.cpp`](/src/runner/auto_start_helper.cpp) | ||
Contains helper code for registering and unregistering PowerToys to run when the user logs in. | ||
|
||
#### [`unhandled_exception_handler.cpp`](./unhandled_exception_handler.cpp) | ||
#### [`unhandled_exception_handler.cpp`](/src/runner/unhandled_exception_handler.cpp) | ||
Contains helper code to get stack traces in builds. Can be used by adding a call to `init_global_error_handlers` in [`WinMain`](./main.cpp). | ||
|
||
#### [`trace.cpp`](./trace.cpp) | ||
#### [`trace.cpp`](/src/runner/trace.cpp) | ||
Contains code for telemetry. | ||
|
||
#### [`svgs`](./svgs/) | ||
#### [`svgs`](/src/runner/svgs/) | ||
Contains the SVG assets used by the PowerToys modules. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
#### [main.cpp](./main.cpp) | ||
#### [main.cpp](/src/settings/main.cpp) | ||
Contains the main executable code, initializing and managing the Window containing the WebView and communication with the main PowerToys executable. | ||
|
||
#### [StreamURIResolverFromFile.cpp](./StreamURIResolverFromFile.cpp) | ||
#### [StreamURIResolverFromFile.cpp](/src/settings/StreamURIResolverFromFile.cpp) | ||
Defines a class implementing `IUriToStreamResolver`. Allows the WebView to navigate to filesystem files in this Win32 project. | ||
|
||
#### [settings-html/](./settings-html/) | ||
Contains the assets file from building the [Web project for the Settings UI](../settings-web). It will be loaded by the WebView. | ||
#### [settings-html/](/src/settings/settings-html/) | ||
Contains the assets file from building the [Web project for the Settings UI](/src/settings./settings-web). It will be loaded by the WebView. |