PowerToys/src
Bartosz Sosnowski 0fdc1d0a1f
ShortcutGuide, FancyZones: split window filtering (#1225)
Splits the code use to filter windows for FancyZones and the
"active window" for the ShortcutGuide. The FancyZones logic is preserved
and merged into a single function. We keep it in common.h, as it might
be also used in other PowerToys, like maximized to new desktop. We do
however change the return type to be more descriptive. It also returns
a separate flag for if the window has a visible owner. This can be used
to implement the approved apps list.

For the ShortcutGuide, the logic is relaxed to include more windows. One
example are Explorer properties windows. Those are (and should) filtered
by the FancyZones, but should appear in the window preview in the SCG.

The new return type also includes information if the window will react
to the default Windows Snap. This is not ideal though. Currently, SCG
can only disable the entire "Windows Controls" group. OTOH windows like
"Save As..." dialogs can be snapped to corners etc., but cannot be
minimized nor maximized. Until SCG can separately disable those buttons
we will display the buttons in the enabled state only if the window
supports all settings. In the future, we should integrate FancyZones
snap override here too.
2020-02-07 15:53:57 +01:00
..
codeAnalysis Getting analysis up and going 2019-12-12 11:23:36 -08:00
common ShortcutGuide, FancyZones: split window filtering (#1225) 2020-02-07 15:53:57 +01:00
modules ShortcutGuide, FancyZones: split window filtering (#1225) 2020-02-07 15:53:57 +01:00
runner MSIX: implement initial version of notifications library (#1178) 2020-02-04 19:41:00 +03:00
settings Runner: fix startup task state setting for MSIX (#1181) 2020-01-31 20:35:21 +03:00
settings-web Runner: fix startup task state setting for MSIX (#1181) 2020-01-31 20:35:21 +03:00
README.md Update README.md 2019-10-25 15:21:16 +02:00

PowerToys Source Code

Code organization

The PowerToys are split into DLLs for each PowerToy module (modules folder), and an executable (runner folder) that loads and manages those DLLs.

The settings window is a separate executable, contained in settings folder. It utilizes a WebView to display an HTML-based settings window (contained in settings-web folder).

The common contains code for a static libary with helper functions, used by both the runner and the PowerToys modules.