diff --git a/PowerToys.sln b/PowerToys.sln index a67288a272..b9faa06d9d 100644 --- a/PowerToys.sln +++ b/PowerToys.sln @@ -607,6 +607,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProjectsModuleInterface", " EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProjectsLib", "src\modules\Projects\ProjectsLib\ProjectsLib.vcxproj", "{B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WindowProperties", "WindowProperties", "{14CB58B7-D280-4A7A-95DE-4B2DF14EA000}" + ProjectSection(SolutionItems) = preProject + src\modules\Projects\WindowProperties\ProjectsWindowPropertyUtils.h = src\modules\Projects\WindowProperties\ProjectsWindowPropertyUtils.h + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -3664,6 +3669,7 @@ Global {BE126CBB-AE12-406A-9837-A05ACFCA57A7} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} {45285DF2-9742-4ECA-9AC9-58951FC26489} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} {B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} + {14CB58B7-D280-4A7A-95DE-4B2DF14EA000} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0} diff --git a/src/modules/Projects/ProjectsLauncher/AppLauncher.cpp b/src/modules/Projects/ProjectsLauncher/AppLauncher.cpp index 27a08cc862..da1238b0ad 100644 --- a/src/modules/Projects/ProjectsLauncher/AppLauncher.cpp +++ b/src/modules/Projects/ProjectsLauncher/AppLauncher.cpp @@ -17,6 +17,7 @@ #include #include +#include using namespace winrt; using namespace Windows::Foundation; @@ -383,6 +384,7 @@ Project Launch(Project project) if (FancyZones::SizeWindowToRect(window, currentMonitor, app.isMinimized, app.isMaximized, rect)) { + ProjectsWindowProperties::StampProjectsLaunchedProperty(window); Logger::trace(L"Placed {} to ({},{}) [{}x{}]", app.name, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top); } else diff --git a/src/modules/Projects/WindowProperties/ProjectsWindowPropertyUtils.h b/src/modules/Projects/WindowProperties/ProjectsWindowPropertyUtils.h new file mode 100644 index 0000000000..15c57cc2a7 --- /dev/null +++ b/src/modules/Projects/WindowProperties/ProjectsWindowPropertyUtils.h @@ -0,0 +1,16 @@ +#pragma once + +#include + +namespace ProjectsWindowProperties +{ + namespace Properties + { + const wchar_t LaunchedByProjectsID[] = L"PowerToys_LaunchedByProjects"; + } + + inline void StampProjectsLaunchedProperty(HWND window) + { + ::SetPropW(window, Properties::LaunchedByProjectsID, reinterpret_cast(1)); + } +}