2022-08-27 02:17:20 +03:00
<Project Sdk= "Microsoft.NET.Sdk" >
2024-08-05 14:29:11 -07:00
<!-- Look at Directory.Build.props in root for common stuff as well -->
2024-08-09 09:18:56 -07:00
<Import Project= "..\..\..\Common.Dotnet.CsWinRT.props" />
2024-08-08 07:29:21 -07:00
<Import Project= "..\..\..\Common.SelfContained.props" />
2022-08-27 02:17:20 +03:00
<PropertyGroup >
<AssemblyTitle > PowerToys.MeasureTool</AssemblyTitle>
<AssemblyDescription > PowerToys MeasureTool</AssemblyDescription>
<OutputType > WinExe</OutputType>
2023-07-20 00:12:46 +01:00
<OutputPath > ..\..\..\..\$(Platform)\$(Configuration)\WinUI3Apps</OutputPath>
2022-08-27 02:17:20 +03:00
<RootNamespace > PowerToys.MeasureToolUI</RootNamespace>
<AssemblyName > PowerToys.MeasureToolUI</AssemblyName>
<ApplicationManifest > app.manifest</ApplicationManifest>
<UseWinUI > true</UseWinUI>
2024-08-09 09:18:56 -07:00
<Platforms > x64;ARM64</Platforms>
Add the Command Palette module (#37908)
Windows Command Palette ("CmdPal") is the next iteration of PowerToys Run. With extensibility at its core, the Command Palette is your one-stop launcher to start _anything_.
By default, CmdPal is bound to <kbd>Win+Alt+Space</kbd>.


----
This brings the current preview version of CmdPal into the upstream PowerToys repo. There are still lots of bugs to work out, but it's reached the state we're ready to start sharing it with the world. From here, we can further collaborate with the community on the features that are important, and ensuring that we've got a most robust API to enable developers to build whatever extensions they want.
Most of the built-in PT Run modules have already been ported to CmdPal's extension API. Those include:
* Installed apps
* Shell commands
* File search (powered by the indexer)
* Windows Registry search
* Web search
* Windows Terminal Profiles
* Windows Services
* Windows settings
There are a couple new extensions built-in
* You can now search for packages on `winget` and install them right from the palette. This also powers searching for extensions for the palette
* The calculator has an entirely new implementation. This is currently less feature complete than the original PT Run one - we're looking forward to updating it to be more complete for future ingestion in Windows
* "Bookmarks" allow you to save shortcuts to files, folders, and webpages as top-level commands in the palette.
We've got a bunch of other samples too, in this repo and elsewhere
### PowerToys specific notes
CmdPal will eventually graduate out of PowerToys to live as its own application, which is why it's implemented just a little differently than most other modules. Enabling CmdPal will install its `msix` package.
The CI was minorly changed to support CmdPal version numbers independent of PowerToys itself. It doesn't make sense for us to start CmdPal at v0.90, and in the future, we want to be able to rev CmdPal independently of PT itself.
Closes #3200, closes #3600, closes #7770, closes #34273, closes #36471, closes #20976, closes #14495
-----
TODOs et al
**Blocking:**
- [ ] Images and descriptions in Settings and OOBE need to be properly defined, as mentioned before
- [ ] Niels is on it
- [x] Doesn't start properly from PowerToys unless the fix PR is merged.
- https://github.com/zadjii-msft/PowerToys/pull/556 merged
- [x] I seem to lose focus a lot when I press on some limits, like between the search bar and the results.
- This is https://github.com/zadjii-msft/PowerToys/issues/427
- [x] Turned off an extension like Calculator and it was still working.
- Need to get rid of that toggle, it doesn't do anything currently
- [x] `ListViewModel.<FetchItems>` crash
- Pretty confident that was fixed in https://github.com/zadjii-msft/PowerToys/pull/553
**Not blocking / improvements:**
- Show the shortcut through settings, as mentioned before, or create a button that would open CmdPalette settings.
- When PowerToys starts, CmdPalette is always shown if enabled. That's weird when just starting PowerToys/ logging in to the computer with PowerToys auto-start activated. I think this should at least be a setting.
- Needing to double press a result for it to do the default action seems quirky. If one is already selected, I think just pressing should be enough for it to do the action.
- This is currently a setting, though we're thinking of changing the setting even more: https://github.com/zadjii-msft/PowerToys/issues/392
- There's no URI extension. Was surprised when typing a URL that it only proposed a web search.
- [x] There's no System commands extension. Was expecting to be able to quickly restart the computer by typing restart but it wasn't there.
- This is in PR https://github.com/zadjii-msft/PowerToys/pull/452
---------
Co-authored-by: joadoumie <98557455+joadoumie@users.noreply.github.com>
Co-authored-by: Jordi Adoumie <jordiadoumie@microsoft.com>
Co-authored-by: Mike Griese <zadjii@gmail.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Michael Hawker <24302614+michael-hawker@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima <zykovas91@gmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Kristen Schau <47155823+krschau@users.noreply.github.com>
Co-authored-by: Eric Johnson <ericjohnson327@gmail.com>
Co-authored-by: Ethan Fang <ethanfang@microsoft.com>
Co-authored-by: Yu Leng (from Dev Box) <yuleng@microsoft.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
2025-03-19 03:39:57 -05:00
<GenerateSatelliteAssembliesForCore > true</GenerateSatelliteAssembliesForCore>
2022-08-27 02:17:20 +03:00
<AppendTargetFrameworkToOutputPath > false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath > false</AppendRuntimeIdentifierToOutputPath>
<EnablePreviewMsixTooling > true</EnablePreviewMsixTooling>
<WindowsPackageType > None</WindowsPackageType>
<WindowsAppSDKSelfContained > true</WindowsAppSDKSelfContained>
2023-07-20 00:12:46 +01:00
<!-- MRT from windows app sdk will search for a pri file with the same name of the module before defaulting to resources.pri -->
<ProjectPriFileName > PowerToys.MeasureToolUI.pri</ProjectPriFileName>
2022-12-14 13:37:23 +01:00
</PropertyGroup>
2023-07-20 00:12:46 +01:00
<ItemGroup >
<Page Remove= "MeasureToolXAML\App.xaml" />
</ItemGroup>
<ItemGroup >
<ApplicationDefinition Include= "MeasureToolXAML\App.xaml" />
</ItemGroup>
2022-09-28 18:18:55 +02:00
<!-- See https://learn.microsoft.com/windows/apps/develop/platform/csharp - winrt/net - projection - from - cppwinrt - component for more info -->
2022-08-27 02:17:20 +03:00
<PropertyGroup >
2022-10-26 14:02:31 +01:00
<CsWinRTIncludes > PowerToys.MeasureToolCore;PowerToys.GPOWrapper</CsWinRTIncludes>
2022-08-27 02:17:20 +03:00
<CsWinRTGeneratedFilesDir > $(OutDir)</CsWinRTGeneratedFilesDir>
<ErrorOnDuplicatePublishOutputFiles > false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>
<PropertyGroup >
<NoWarn > 0436</NoWarn>
</PropertyGroup>
<ItemGroup >
2023-07-20 00:12:46 +01:00
<Content Include= "Assets\MeasureTool\SplashScreen.scale-200.png" />
<Content Include= "Assets\MeasureTool\LockScreenLogo.scale-200.png" />
<Content Include= "Assets\MeasureTool\Square150x150Logo.scale-200.png" />
<Content Include= "Assets\MeasureTool\Square44x44Logo.scale-200.png" />
<Content Include= "Assets\MeasureTool\Square44x44Logo.targetsize-24_altform-unplated.png" />
<Content Include= "Assets\MeasureTool\StoreLogo.png" />
<Content Include= "Assets\MeasureTool\Wide310x150Logo.scale-200.png" />
2022-08-27 02:17:20 +03:00
</ItemGroup>
<ItemGroup >
2023-02-13 12:10:33 -05:00
<PackageReference Include= "Microsoft.WindowsAppSDK" />
<PackageReference Include= "Microsoft.Windows.SDK.BuildTools" />
<PackageReference Include= "WinUIEx" />
Add the Command Palette module (#37908)
Windows Command Palette ("CmdPal") is the next iteration of PowerToys Run. With extensibility at its core, the Command Palette is your one-stop launcher to start _anything_.
By default, CmdPal is bound to <kbd>Win+Alt+Space</kbd>.


----
This brings the current preview version of CmdPal into the upstream PowerToys repo. There are still lots of bugs to work out, but it's reached the state we're ready to start sharing it with the world. From here, we can further collaborate with the community on the features that are important, and ensuring that we've got a most robust API to enable developers to build whatever extensions they want.
Most of the built-in PT Run modules have already been ported to CmdPal's extension API. Those include:
* Installed apps
* Shell commands
* File search (powered by the indexer)
* Windows Registry search
* Web search
* Windows Terminal Profiles
* Windows Services
* Windows settings
There are a couple new extensions built-in
* You can now search for packages on `winget` and install them right from the palette. This also powers searching for extensions for the palette
* The calculator has an entirely new implementation. This is currently less feature complete than the original PT Run one - we're looking forward to updating it to be more complete for future ingestion in Windows
* "Bookmarks" allow you to save shortcuts to files, folders, and webpages as top-level commands in the palette.
We've got a bunch of other samples too, in this repo and elsewhere
### PowerToys specific notes
CmdPal will eventually graduate out of PowerToys to live as its own application, which is why it's implemented just a little differently than most other modules. Enabling CmdPal will install its `msix` package.
The CI was minorly changed to support CmdPal version numbers independent of PowerToys itself. It doesn't make sense for us to start CmdPal at v0.90, and in the future, we want to be able to rev CmdPal independently of PT itself.
Closes #3200, closes #3600, closes #7770, closes #34273, closes #36471, closes #20976, closes #14495
-----
TODOs et al
**Blocking:**
- [ ] Images and descriptions in Settings and OOBE need to be properly defined, as mentioned before
- [ ] Niels is on it
- [x] Doesn't start properly from PowerToys unless the fix PR is merged.
- https://github.com/zadjii-msft/PowerToys/pull/556 merged
- [x] I seem to lose focus a lot when I press on some limits, like between the search bar and the results.
- This is https://github.com/zadjii-msft/PowerToys/issues/427
- [x] Turned off an extension like Calculator and it was still working.
- Need to get rid of that toggle, it doesn't do anything currently
- [x] `ListViewModel.<FetchItems>` crash
- Pretty confident that was fixed in https://github.com/zadjii-msft/PowerToys/pull/553
**Not blocking / improvements:**
- Show the shortcut through settings, as mentioned before, or create a button that would open CmdPalette settings.
- When PowerToys starts, CmdPalette is always shown if enabled. That's weird when just starting PowerToys/ logging in to the computer with PowerToys auto-start activated. I think this should at least be a setting.
- Needing to double press a result for it to do the default action seems quirky. If one is already selected, I think just pressing should be enough for it to do the action.
- This is currently a setting, though we're thinking of changing the setting even more: https://github.com/zadjii-msft/PowerToys/issues/392
- There's no URI extension. Was surprised when typing a URL that it only proposed a web search.
- [x] There's no System commands extension. Was expecting to be able to quickly restart the computer by typing restart but it wasn't there.
- This is in PR https://github.com/zadjii-msft/PowerToys/pull/452
---------
Co-authored-by: joadoumie <98557455+joadoumie@users.noreply.github.com>
Co-authored-by: Jordi Adoumie <jordiadoumie@microsoft.com>
Co-authored-by: Mike Griese <zadjii@gmail.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Michael Hawker <24302614+michael-hawker@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima <zykovas91@gmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Kristen Schau <47155823+krschau@users.noreply.github.com>
Co-authored-by: Eric Johnson <ericjohnson327@gmail.com>
Co-authored-by: Ethan Fang <ethanfang@microsoft.com>
Co-authored-by: Yu Leng (from Dev Box) <yuleng@microsoft.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
2025-03-19 03:39:57 -05:00
<!-- This line forces the WebView2 version used by Windows App SDK to be the one we expect from Directory.Packages.props . -->
<PackageReference Include= "Microsoft.Web.WebView2" />
2022-08-27 02:17:20 +03:00
<Manifest Include= "$(ApplicationManifest)" />
</ItemGroup>
<!-- Defining the "Msix" ProjectCapability here allows the Single - project MSIX Packaging
Tools extension to be activated for this project even if the Windows App SDK Nuget
package has not yet been restored -->
<ItemGroup Condition= "'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnablePreviewMsixTooling)'=='true'" >
<ProjectCapability Include= "Msix" />
</ItemGroup>
<ItemGroup >
2023-07-20 00:12:46 +01:00
<!-- HACK: Common.UI is referenced, even if it is not used, to force dll versions to be the same as in other projects that use it. It's still unclear why this is the case, but this is need for flattening the install directory. -->
2024-05-09 10:32:03 -04:00
<ProjectReference Include= "..\..\..\common\Common.UI\Common.UI.csproj" />
2022-10-26 14:02:31 +01:00
<ProjectReference Include= "..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" />
2022-09-05 15:39:56 +03:00
<ProjectReference Include= "..\..\..\common\interop\PowerToys.Interop.vcxproj" />
2022-08-27 02:17:20 +03:00
<ProjectReference Include= "..\..\..\common\ManagedCommon\ManagedCommon.csproj" />
2023-04-27 16:38:24 +02:00
<ProjectReference Include= "..\..\..\settings-ui\Settings.UI.Library\Settings.UI.Library.csproj" />
Using centralized package management for vcxproj (#43920)
## Summary of the Pull Request
This pull request updates the build system for several native and
managed projects, modernizing NuGet package management and improving
code analysis configuration. The main changes involve switching from
legacy `packages.config` and manual `.props`/`.targets` imports to
PackageReference style for native projects, updating package versions,
and streamlining code analysis settings.
**Build system modernization and package management:**
* Migrated native projects (`PowerToys.MeasureToolCore.vcxproj`,
`FindMyMouse.vcxproj`) from legacy `packages.config` and manual
`.props`/`.targets` imports to NuGet PackageReference style, simplifying
dependency management and build configuration. This includes removing
the `packages.config` file and related import/error logic, and
introducing `PackageReference` items for required packages.
[[1]](diffhunk://#diff-76320b3a74a9241df46edb536ba0f817d7150ddf76bb0fe677e2b276f8bae95aL3-R18)
[[2]](diffhunk://#diff-76320b3a74a9241df46edb536ba0f817d7150ddf76bb0fe677e2b276f8bae95aR41-L41)
[[3]](diffhunk://#diff-76320b3a74a9241df46edb536ba0f817d7150ddf76bb0fe677e2b276f8bae95aL145-R153)
[[4]](diffhunk://#diff-d3a7d80ebbca915b42727633451e769ed2306b418ef3d82b3b04fd5f79560f17L1-L17)
[[5]](diffhunk://#diff-0f27869c4e90c8fd2c81f5688c58da99afcc9e5767e69ef7938265dbb6928e0fL3-R13)
* Updated the centralized package versions in
`Directory.Packages.props`, adding new entries for `boost`,
`boost_regex-vc143`, `Microsoft.Windows.ImplementationLibrary`, and
`Microsoft.WindowsAppSDK.Foundation` to support the new build system and
dependencies.
[[1]](diffhunk://#diff-5baf5f9e448ad54ab25a091adee0da05d4d228481c9200518fcb1b53a65d4156R10-R11)
[[2]](diffhunk://#diff-5baf5f9e448ad54ab25a091adee0da05d4d228481c9200518fcb1b53a65d4156R74-R77)
**Code analysis improvements:**
* Added configuration to both native and managed projects
(`PowerToys.MeasureToolCore.vcxproj`, `MeasureToolUI.csproj`) to
suppress specific warnings (81010002) and exclude NuGet cache files from
code analysis, reducing noise and improving build performance.
[[1]](diffhunk://#diff-76320b3a74a9241df46edb536ba0f817d7150ddf76bb0fe677e2b276f8bae95aL3-R18)
[[2]](diffhunk://#diff-4f2b49a1a5cc7da36ee6d5044792ef681fd0ea5bea12db9ebd4c3090680d4b07R6-R11)
**Project reference and output handling:**
* Updated the managed project (`MeasureToolUI.csproj`) to handle native
project outputs more robustly, ensuring the WinMD and DLL files are
available at runtime and configuring the project reference to avoid
assembly reference issues.
**Compiler configuration:**
* Enhanced C++ compiler settings in `Cpp.Build.props` to treat
angle-bracket includes as external, disable warnings and analysis for
external headers, and optimize build performance.
2025-12-08 09:52:55 +08:00
<ProjectReference Include= "..\MeasureToolCore\PowerToys.MeasureToolCore.vcxproj" >
<ReferenceOutputAssembly > false</ReferenceOutputAssembly>
<BuildProject > true</BuildProject>
</ProjectReference>
<CsWinRTInputs Include= "$(OutputPath)\PowerToys.MeasureToolCore.winmd" />
<None Include= "$(OutputPath)\PowerToys.MeasureToolCore.dll" >
<CopyToOutputDirectory > PreserveNewest</CopyToOutputDirectory>
</None>
2022-08-27 02:17:20 +03:00
</ItemGroup>
</Project>