mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-24 15:39:56 +01:00
shawn/fixAPPrompttextbox
4013 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2a40e1ce4d |
Minor ZoomIt fixes (#43495)
## Summary of the Pull Request Regarding #43265 / #43266, I noticed some minor spelling mistakes. I also refactored some literal strings to string constants. I didn't discuss this with core contributors or @MarioHewardt. Just a quick shot-from-the-hip PR ;-) I hope that isn't a problem... _Note: this is a new Pull Request for this change. I had to close the previous one (#43443), because I had made a commit using a wrong Github account._ ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
b015d6a778 |
Update onenote png icons to new core10 design (#43506)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Update the oneNote pngs to October Core 10 icon design MSNews article: https://www.msn.com/en-us/technology/software/microsoft-s-new-office-icons-are-more-curvy-and-colorful/ar-AA1NFYYI <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #43507 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
3bfa0a0cf8 |
Update CursorWrap settings (#43492)
## Summary of the Pull Request Modify CursorWrap settings so that 'Activate on Startup' is enabled when CursorWrap is enabled. Disabling CursorWrap doesn't change the 'Activate on Startup' toggle, this will need to be manually disabled, CursorWrap is active when enabled, the hotkey can be used to temporarily disable the CursorWrap functionality. ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments ## Validation Steps Performed Manual validation performed on desktop PC and Surface Laptop. |
||
|
|
5884375e9d |
Fix advanced paste settings migration issue (#43459)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request introduces a robust migration system for legacy Advanced Paste AI provider settings and credentials, refactoring both the migration logic and credential handling to be more maintainable and reliable. It also standardizes the default model names for AI providers and updates related UI placeholders to reflect these changes. The migration logic is now centralized in a new helper class, and legacy credential migration is handled more cleanly in both the settings and view model layers. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #43456 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> Signed-off-by: Shawn Yuan <shuai.yuan.zju@gmail.com> |
||
|
|
a0a2f493c5 |
remove debug launching (#43485)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request simplifies the application launch logic in `App.xaml.cs` by removing debug-specific code paths and asynchronous window initialization. The main change is to standardize the launch process for both debug and release builds. **Launch logic simplification:** * Removed the `#if DEBUG` conditional compilation around the `OnLaunched` method, so the method signature is now consistent in all build configurations. * Eliminated the asynchronous call to `ShowWindow()` that was previously executed only in debug mode, streamlining the launch behavior and removing direct window access during debugging. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> |
||
|
|
5e3e0660e7 |
Revert hybrid crt to make powertoys quit safely (#43484)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request After enabling Hybrid CRT, the PowerToys process failed to properly unload some module interface DLLs when quit application. The root cause is still unclear, but this change reverts the behavior to ensure safe unloading. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #43413 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Can unload dll safely when quit powertoys |
||
|
|
29688cea0e |
[Light Switch] Enter latitude and longitude manually in Sunrise to sunset mode (#43276)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR introduces new UI to allow the users to manually enter their lat/long. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42429 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Localization:** All end-user-facing strings can be localized - [x] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #[5979](https://github.com/MicrosoftDocs/windows-dev-docs-pr/pull/5979) --------- Co-authored-by: Niels Laute <niels.laute@live.nl> |
||
|
|
a0f33c8af1 |
Make zooming animation smooth for ZoomIt on mouse move (#42339)
This change coalesces the `WM_MOUSEMOVE` events with the `WM_TIMER` events in the cases 1, 2 (telescope animation for zoom in, respectively, out). I factored into a new lambda the `WM_TIMER` code and I made it save the "now" amount of ticks into the new `g_TelescopingZoomLastTick`. During `WM_MOUSEMOVE` processing, if the current tick count (rather imprecise, but good enough) is larger than the animation step, `ZOOM_LEVEL_STEP_TIME`, then I call that lambda. It's convenient that the code in there already handles the "end of telescope zooming animation" case. ## Validation Steps Performed The choppy zooming animation was evident while moving the mouse during a telescope zoom. It was also [reported on the Sysinternals blog](https://techcommunity.microsoft.com/blog/sysinternals-blog/zoomit-v9-10-procdump-3-5-for-linux-and-jcd-1-0-1/4461244/replies/4461281). |
||
|
|
756feb9f8c |
Clean up unused providers for AdvancedPaste (#43433)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Clean up unused providers for AdvancedPaste <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #43429 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
2fff688c6f |
[CI] Fix Win10 New+ build: add local Generated Files include path (#43461)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR (#43361) tries to fix the CI failure, and the root cause is correct. However, using ;$(MSBuildThisFileDirectory)Generated Files causes the include path to become \Generated Files\Generated Files\resource.h. Removing Generated Files fixes the issue so that cl can find the correct file. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
a271a2f8af |
Enable GIF support for ZoomIt (#43266)
Closes #43265 |
||
|
|
a33c484c93 |
CmdPal: Removing app tag from apps (#43439)
The "App" tag is pretty redundant and is adding a lot of visual noise. Closes #38968 New:  |
||
|
|
9c2884ab41 |
CmdPal: Bump version to 0.7 (#43428)
title |
||
|
|
076828f592 |
CmdPal: Remove duplicate HideWindow call in MainWindow .ctor (#43360)
## Summary of the Pull Request Refer to the title. Calling this here will just log an error. Another HideWindow is at the end of the constructor, so the behavior remains unchanged. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
e4a8488a2a |
[PowerRename] Fix FuzzTest project configuration issue (#43299)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR add the missing configuration for FuzzTest to avoid build issue in local env. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Co-authored-by: Yu Leng <yuleng@microsoft.com> |
||
|
|
93bf653f9c |
[CI] Fix Win10 New+ build: add local Generated Files include path (#43361)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request **The CI frequently fails due to this issue** <img width="1094" height="139" alt="image" src="https://github.com/user-attachments/assets/b69aa417-b25c-4396-a863-32e8a31415e9" /> <img width="1249" height="183" alt="image" src="https://github.com/user-attachments/assets/14f57ada-4b3c-4a70-9e6b-17d7162cece4" /> **Fix** make NewPlus.ShellExtension.win10.vcxproj include its own Generated Files folder so autogenerated resource.h is always found prevents CI failures when the Win10 module builds before the shared NewPlus project has produced headers <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
b7eed480ba |
Spellchecking: Update spell-checking dictionary (#42294)
## Summary of the Pull Request
This PR updates the spell-checking dictionaries to fix outstanding
errors, and also clears up accumulated warnings.
- Cleans up duplicate or ignored entries in expect.txt:
- `Authenticode` (favoring existing `authenticode`)
- `DTo` (favoring existing `dto`)
- `ekus` (favoring existing `eku`)
- `nullrefs` (favoring existing `nullref`)
- Removes `CursorWrap` (invalid entry since camel case is treated as
separate words and is not allowed)
- Updates the pattern for `amazon.com` URLs to allow them within C#
strings
- Explicitly excludes the CmdPal sample page for images in Markdown with
Base64 encoded data from spell-checking (was previously auto-excluded)
- Suppresses spell-checking on lines with URLs containing encoded data
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] Closes: #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
|
||
|
|
dce61bcb9d |
Fix Awake's popup context menu positioning (#41009)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Fix for issue #37457. The Awake popup context menu would show at the wrong position, especially after adding additional displays. The reason this happened was that the mouse cursor position was unnecessarily converted from screen to to client-area coordinates. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #37457 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Ran Awake and its context menu seemed to display properly and at the correct position. --------- Co-authored-by: Leon Zandman <lzandman@rdw.nl> |
||
|
|
57f0b4b342 |
CmdPal: Improve crash error message (#43340)
## Summary of the Pull Request
This PR localizes the message displayed when an unhandled exception
causes CmdPal to crash. It also resolves a regression from commit
|
||
|
|
0e922a4dcb |
[ImageResizer] Fix issue where settings could be changed during a batch resize (#42163)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This fixes an issue where the Image Resizer settings were reloaded for every resize operation in a multi-file batch. This could result in inconsistent resize results if the Settings application or the user interacted with the settings and the properties were changed, even temporarily. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42116, #35114 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments Corrects an issue in `ResizeBatch.Execute()` where `Settings.Default` was used: ```csharp protected virtual void Execute(string file) => new ResizeOperation(file, DestinationDirectory, Settings.Default).Execute(); ``` Unfortunately, `Settings.Default` is poorly named, and is not a constant property. Instead it actually calls `Reload()`, which loads the settings JSON file and re-processes it fully: ```csharp [JsonIgnore] public static Settings Default { get { defaultInstance.Reload(); return defaultInstance; } } ``` If the settings are changed part-way through a resize batch operation (even scrolling through the presets will set `selectedIndex` and save it back to disk), the batch resize operation may switch to a different resize behaviour, giving inconsistent results. The chances of this occurring increase with the length of the batch operation. ### Solution The solution is to set the `Settings` outside of the main loop and use that for every resize operation, which is what this PR does. `Process` is altered to load the `Settings` at the start and pass that to `Execute` on each iteration of the batch loop: ```csharp public IEnumerable<ResizeError> Process(Action<int, double> reportProgress, CancellationToken cancellationToken) { double total = Files.Count; int completed = 0; var errors = new ConcurrentBag<ResizeError>(); var settings = Settings.Default; ... Execute(file, settings); ``` `Execute` is updated to accept a `Settings` object instead of using `Settings.Default`: ```csharp protected virtual void Execute(string file, Settings settings) => new ResizeOperation(file, DestinationDirectory, settings).Execute(); ``` ### Additional changes The batch-related unit tests failed after the above change. I updated the Mock `Execute` to reflect the use of the `Settings` parameter. Also, the `Settings` class was unfortunately bound to the WPF UI, and could not be instantiated during unit testing. I've refactored this so it can be instantiated with or without an `App.Current.Dispatcher`. Ther's a new `ReloadCore()` method which just contains the extracted property setting code. None of the unit tests currently use the settings themselves, but at least the capability is now there. I also removed the setting of the `MaxDegreeOfParallelism` option in the `Parallel.For()`. When left at its default, the runtime will use the appropriate number of threads, and the heuristic it uses may not necessarily equal the number of processor cores in the system. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed - Ensured all existing unit tests passed. - Tested with multiple runs of resizing 200 image files while browsing and changing the settings. This was no longer able to alter the ongoing resize operations. - Checked that the settings could still be amended via the Settings app. --------- Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> |
||
|
|
d7785977d8 |
feat(quick-accent): add diameter ⌀ symbol for Shift+O #41954 (#42963)
## Summary of the Pull Request - Adds support for the diameter symbol (⌀, U+2300) in Quick Accent. - When holding Shift+O with the Special Characters language enabled. ## Implementation - Updated GetDefaultLetterKeySPECIAL(LetterKey.VK_O) to include ⌀. - No impact on other existing functionalities. ## Issue Closes #41954 |
||
|
|
ccaa876af2 |
[UI Tests] Peek - fix UI tests via setting hotkeys back to Ctrl+Space combo for tests only (#43168)
This pull request introduces a static initialization step to the `PeekFilePreviewTests` class to ensure the correct test settings are present before tests run. The main change is the addition of a static constructor that creates or updates the `settings.json` file with predefined settings, including setting the activation shortcut to Ctrl+Space. Test setup improvements: * Added a static constructor to `PeekFilePreviewTests` that calls a new `FixSettingsFileBeforeTests` method, ensuring the necessary settings file exists and is properly configured before any tests execute. * Implemented `FixSettingsFileBeforeTests` to create the required directory and write a `settings.json` file with specific test configuration, including setting the activation shortcut to Ctrl+Space and other test-relevant properties. |
||
|
|
5c96cea31f |
[Peek] Fix media sources remaining locked when Peek window is closed (#42055)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Fixes an issue where audio and video files would remain locked by Peek after the user closed the preview window. This could prevent the ejecting of removable storage. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #41883 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments When the Peek window is closed, it is hiden rather than destroyed, allowing for quick reactivation. The cleanup process is triggered by `MainWindowViewModel.Uninitialize()`, which eventually causes the active `Previewer` instance in `FilePreviewer.xaml.cs` to be disposed of (via `OnItemPropertyChanged()`). The root cause of the bug is that neither `VideoPreviewer` nor `AudioPreviewer` implemented `IDisposable` sufficiently to cover clean up of the media file. The result was that the `MediaSource` object, which holds the handle to the open media file, was not disposed deterministically. This left the file locked until the GC eventually finalised it. ### Solution To fix this, I've implemented `IDisposable` on `AudioPreviewer` where it was absent, and expanded `Dispose()` on `VideoPreviewer` to clean up the media object. A new `Unload()` method on each previewer handles explicit clean up of the media sources. The `Dispose()` method calls `Unload()` to ensure the resources are released reliably when the previewer is destroyed. `Unload()` is deliberately public, as I'd like to expand upon its use in a future refactoring of the previewer switching logic, allowing for reusing an active previewer instead of creating a new one every time the user navigates to a new file. ### AudioPreviewer refinements I made a few updates to `AudioPreviewer` to make the lifecycle of the media source more predictable and improve the error handling: - The `Preview` observable property is now a nullable `AudioPreviewData?`. This more accurately represents the state (data is either present or not), and allows for the removal of the creation of an empty object in the constructor. - `thumbnailTask`'s success is no longer regarded as an error condition in `LoadPreviewAsync`. It is reasonable to let the user play their audio file even if the thumbnail cannot be shown. - An error when loading the source data or metadata results in the new `Unload()` method being called, correctly releasing the file, protecting against the file lock issue even if the media file was corrupt and could only be partially constructed. - Null checks for `Preview`, obvs. ### Scope I could repro the original issue on audio and video files, so this PR is focused on improvements to `AudioPreviewer` and `VideoPreviewer`. I wasn't able to reproduce the file locking problem with the `WebBrowserPreviewer` for its built-in supported types (HTML, Markdown and PDF). I found some additional issues with the previewer, however, but they will be covered in a future PR. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Tests were performed with the following steps: 1. Place the audio/video file to test on a USB stick. 2. Open the file with Peek and play some of the media. 3. While previewing the media, close the Peek window. 4. Attempt to eject the USB stick via the systray. - Before: the eject fails and Windows pops up the "File in use" dialog. - After: the drive is successfully removed. I tested an MP4 video file and an MP3 audio track to confirm the fix. I confirmed that other previewers were unaffected by previewing: JPEG image files, a PDF, a TXT file, a Markdown file, an HTML file and a folder. All items were successfully previewed. |
||
|
|
d737e22d16 |
fixed terms & privacy link issue (#43327)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request updates the way legal links (Terms of Use and Privacy Policy) are displayed for different AI providers in the AdvancedPaste module, making them dynamic based on the currently selected provider. It also updates the URLs for several providers to ensure accuracy and relevance. ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> |
||
|
|
05ae163eea |
Add back NuGet config file accidentally deleted by AdvancedPaste PR (#43312)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Deleted by this https://github.com/microsoft/PowerToys/pull/42374 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
e19520e675 |
[CmdPal] Extension string updates (#43269)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Feedback from the design team: - Reduce any redundant or long text strings for better readability and localization - `Verb + noun` for most extensions - Sentence casing according to the Windows Writing Guidelines <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: Michael Jolley <mike@baldbeardedbuilder.com> Co-authored-by: Jiří Polášek <me@jiripolasek.com> |
||
|
|
e2591250be |
CmdPal: Treat System command provider as special (#43321)
## Summary of the Pull Request This change marks the System command provider as special, ensuring fallback items are surfaced at the top of the list. Additionally, the SystemCommandExtensionProvider ID has been updated to comply with the new naming convention. As a small cleanup, SystemCommandExtensionProvider is now sealed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Related to: #42524 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
e448d731f8 |
[Light Switch] Refactor + cleaner behavior (#43159)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR also includes a refactor to the light switch service. The refactor will help me make cleaner updates in the future and makes the "state" easier to track through the service. ## Validation Completed the following steps as testing for normal behavior and edge cases: 1. Start up - Check defaults (delete settings.json files) - Ensure PowerToys properly starts/does not start the module - Ensure turning the module on and off starts/terminates the service - Ensure the settings in the settings file are reflected in the front end 2. Manual Override Activation - Ensure that pressing the shortcut key triggers an update - Ensure that pressing the shortcut key triggers a block in the schedule (Should see logs Skipping schedule due to manual override) - Ensure that changing windows settings triggers a manual override (at the next minute) - Ensure in both scenarios that the schedule is ignored until a boundary is met - Ensure that the schedule resumes following the boundary clearance. 4. New Day Detection / Sun Time Recalculation - Keep service running past midnight (or simulate date change) - Verify the last updated day is updated - Verify new sun times are accurate and set in settings. 5. Coordinates / Mode Change - Ensure that updates occur when the coordinates or mode changes. These updates should reflect the new settings. 6. Schedule Mode OFF - Turn the schedule off, check logs for notice - Ensure the shortcut still works - Ensure the schedule resumes as expected once turned back on. 8. Sleep / Hibernate Resume - Set your schedule to change themes in the next 2 minutes. - Send your machine to hibernate shutdown /h - Wake your machine after your theme should have changed and ensure Light Switch catches itself up - Repeat steps above but with a manual override triggered prior to the theme change.Ensure manual override is flushed and schedule resumes. 9. Stop and Restart behavior - Stop and restart the module. Ensure it behaves as expected. No reset settings, etc. |
||
|
|
47c779e0a0 |
Run: handle DWM issues more gracefully (#42588)
## Summary of the Pull Request This PR expands the scenarios where Run handles exceptions silently, reducing the number of exception dialogs displayed to users and creating a smoother experience. The premise remains unchanged: most exceptions occur when Run is in the background, and the app can recover as the DWM recovers. This should cover most of the reports commonly encountered in the wild. - Extended silent handling of DWM exceptions to include `DWM_E_COMPOSITIONDISABLED` (0x80263001). - Added silent handling for `STATUS_MESSAGE_LOST` error (NTSTATUS 0xC0000701, HR 0xD0000701). - Implemented exception handling and retry logic for failures during manual app theme changes (triggered by `PowerLauncher.Helper.ThemeManager`). I can't reproduce the error on its own; it only occurs alongside a fatal render thread failure (`UCEERR_RENDERTHREADFAILURE`), which is unrecoverable. Even if caught, the UI stops rendering, leaving the end-user unable to proceed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Related to: #31226 - [x] Related to: #30769 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
b7b6ae6485 |
Tweaking the focus state for AP (#43306)
Adding the AI underline to the inputbox <img width="656" height="583" alt="image" src="https://github.com/user-attachments/assets/998a4203-61d7-4228-a682-391c6d78b3a5" /> |
||
|
|
cd988b798b |
Add Cursor Wrap functionality to Powertoys Mouse Utils (#41826)
## Summary of the Pull Request Cursor Wrap makes it simple to move the mouse from one edge of a display (or set of displays) to the opposite edge of the display stack - on a single display Cursor Wrap will wrap top/bottom and left/right edges. https://github.com/user-attachments/assets/3feb606c-142b-4dab-9824-7597833d3ba4 ## PR Checklist - [x] Closes: CursorWrap #41759 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments PR adds a new mouse utils module, this is 'Cursor Wrap' - Cursor Wrap works with 1-9 monitors based on the logical monitor layout of the PC - for a single monitor device the cursor is wrapped for the top/bottom and left/right edges of the display - for a multi-monitor setup the cursor is wrapped on the top/bottom left/right of the displays in the logical display layout. ## Validation Steps Performed Validation has been performed on a Surface Laptop 7 Pro (Intel) with a single display and with an HDMI USB-C second display configured to be a second monitor in top/left/right/bottom configuration - there are also tests that run as part of the build to validate logical monitor layout and cursor positioning. --------- Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Kai Tao (from Dev Box) <kaitao@microsoft.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> |
||
|
|
3176eb94a9 |
[Hosts] Backup Settings (#37778)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Add backup settings for the Hosts File Editor to allow users to customize the existing hardcoded logic. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] **Closes:** #37666 - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [x] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: https://github.com/MicrosoftDocs/windows-dev-docs/pull/5342 <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <img width="707" alt="image" src="https://github.com/user-attachments/assets/e114431e-60e0-4b8c-bba7-df23f7af0182" /> <img width="707" alt="image" src="https://github.com/user-attachments/assets/a02b591e-eb46-4964-bee7-548ec175b3aa" /> <img width="707" alt="image" src="https://github.com/user-attachments/assets/6eb0ff21-74fa-4229-8832-df2df877b5cd" /> <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed - Backup on: verified that backup isn't executed - Backups off: Verified that only one backup is executed - Verified that backup is located in the expected path - Auto delete is set to "never": verified that no backups are deleted - Auto delete is set to "based on count": verified that backups are deleted according to count value - Auto delete is set to "based on age and count": verified that backups are deleted according to days and count values - Verified that files without the backup pattern aren't deleted - There is also adequate test coverage for these scenarios 🚀 --------- Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> |
||
|
|
31a0deee35 |
Peek a file using command line and named pipe. (#26422) (#38754)
This is a PoC. It adds the ability to peek a file using a named pipe and a command line. Usage/testing before this gets merged and released: 1. Build release configuration of Peek.UI and Peek.CLI. 2. Terminate PowerToys.Peek.UI.exe if running. 3. Back up and replace PowerToys.Peek.UI[.dll;.exe;.pdb;.pri]. Use [Everything](https://www.voidtools.com/downloads/) to find the source and destination folders. 4. Call `PowerToys.Peek.CLI.exe <path>` or send the path to peek to the `PeekPipe` named pipe. If this solution is OK, documentation and installer need to be updated and a follow-up issue needs to be filed to support navigation. --------- Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: Leilei Zhang <leilzh@microsoft.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> |
||
|
|
a3b8dc6cb8 |
Advanced Paste: AI pasting enhancement (#42374)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request * Add multiple endpoint support for paste with AI * Add Local AI support for paste AI * Advanced AI implementation <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #32960 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [x] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [x] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [x] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed ### GPO - [x] Paste with AI should not be available if the original GPO for paste AI is set to false - [x] Paste with AI should be controlled within endpoint granularity - [x] Advanced Paste UI should disable AI ability if GPO is set to disable for any llm ### Paste AI - [x] Every AI endpoint should work as expected - [x] Default prompt should be able to give a reasonable result - [x] Local AI should work as expected ### Advanced AI - [x] Open AI and Azure OPENAI should be able to configure as advanced AI endpoint - [x] Advanced AI should be able to pick up functions correctly to do the transformation and give reasonable result --------- Signed-off-by: Shawn Yuan <shuaiyuan@microsoft.com> Signed-off-by: Shuai Yuan <shuai.yuan.zju@gmail.com> Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> Co-authored-by: Leilei Zhang <leilzh@microsoft.com> Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Kai Tao <kaitao@microsoft.com> Co-authored-by: Kai Tao <69313318+vanzue@users.noreply.github.com> Co-authored-by: vanzue <vanzue@outlook.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> |
||
|
|
c364aa7c70 |
Cmdpal: Bring vcruntime in cmdpal (#43255)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Cmdpal has dependency on vcruntime appx package due to adaptive card, bring that dependency in <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42497 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed <img width="1873" height="1183" alt="image" src="https://github.com/user-attachments/assets/d416d09f-f4d6-456c-a625-ca724a69b5ee" /> --------- Co-authored-by: Jiří Polášek <me@jiripolasek.com> |
||
|
|
229bedd09f |
[UI Tests] Add complete OCR UI test coverage (#41947)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request * Enable Text Extractor. Then: - [x] Press the activation shortcut and verify the overlay appears. - [x] Press Escape and verify the overlay disappears. - [x] Press the activation shortcut and verify the overlay appears. - [x] Right-click and select Cancel. Verify the overlay disappears. - [x] Disable Text Extractor and verify that the activation shortuct no longer activates the utility. * With Text Extractor enabled and activated: - [x] Try to select text and verify it is copied to the clipboard. - [x] Try to select a different OCR language by right-clicking and verify the change is applied. * Test the different settings and verify they are applied: - [x] Activation shortcut - [x] OCR Language <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
70e1177a6a |
[PowerRename] Support using photo metadata to replace in the PowerRename (#41728)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request 1. Introduce WIC for power rename and add new class WICMetadataExtractor to use WIC to extract metadata. 2. Add some patterns for metadata extract. 3. Support XMP and EXIF metadata extract. 4. Add test data for xmp and exif extractor 5. Add attribution for the test data uploader. UI: <img width="2052" height="1415" alt="image" src="https://github.com/user-attachments/assets/9051b12e-4e66-4fdc-a4d4-3bada661c235" /> <img width="284" height="170" alt="image" src="https://github.com/user-attachments/assets/2fd67193-77a7-48f0-a5ac-08a69fe64e55" /> <img width="715" height="1160" alt="image" src="https://github.com/user-attachments/assets/5fa68a8c-d129-44dd-b747-099dfbcded12" /> demo: https://github.com/user-attachments/assets/e90bc206-62e5-4101-ada2-3187ee7e2039 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #5612 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: Yu Leng <yuleng@microsoft.com> |
||
|
|
957b653210 |
CmdPal: Add a micro global error handler (#41392)
## Summary of the Pull Request This PR introduces a scaled-down version of the global error handler from #41061. - Catches and logs virtually all unhandled exceptions. - For UI thread exceptions, generates an additional error report: - One copy is saved in app's log folder for the Bug Report Tool. - Another copy can be placed to the user’s desktop to increase visibility and encourage report submission (disabled for now). - Displays a message box that tells the user where to find the saved report. This PR is intentionally minimal and focused. The complete, more polished solution is still planned in #41061, which should replace this implementation in a follow-up. <details><summary>Report example</summary> <pre> This is an error report generated by Windows Command Palette. If you are seeing this message, it means the application has encountered an unexpected issue. You can help us fix it by filing a report at https://aka.ms/powerToysReportBug. ============================================================ 😢 An unexpected error occurred in the application. Summary: Message: NamedResource Not Found. NamedResource Not Found. Type: System.Runtime.InteropServices.COMException Source: WinRT.Runtime Time: 2025-08-26 20:22:53.5752505 HRESULT: 0x80073B17 (-2147009769) Stack Trace: at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr) at ABI.Microsoft.Windows.ApplicationModel.Resources.IResourceLoaderMethods.GetString(IObjectReference _obj, String resourceId) at Microsoft.Windows.ApplicationModel.Resources.ResourceLoader.GetString(String resourceId) at Microsoft.CmdPal.UI.Helpers.ResourceLoaderInstance.GetString(String resourceId) at Microsoft.CmdPal.UI.Settings.SettingsWindow.AnnounceNavigationPaneStateChanged(DependencyObject sender, DependencyProperty dp) at ABI.Microsoft.UI.Xaml.DependencyPropertyChangedCallback.Do_Abi_Invoke(IntPtr thisPtr, IntPtr sender, IntPtr dp) ------------------ Full Exception Details ------------------ System.Runtime.InteropServices.COMException (0x80073B17): NamedResource Not Found. NamedResource Not Found. at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr) at ABI.Microsoft.Windows.ApplicationModel.Resources.IResourceLoaderMethods.GetString(IObjectReference _obj, String resourceId) at Microsoft.Windows.ApplicationModel.Resources.ResourceLoader.GetString(String resourceId) at Microsoft.CmdPal.UI.Helpers.ResourceLoaderInstance.GetString(String resourceId) at Microsoft.CmdPal.UI.Settings.SettingsWindow.AnnounceNavigationPaneStateChanged(DependencyObject sender, DependencyProperty dp) at ABI.Microsoft.UI.Xaml.DependencyPropertyChangedCallback.Do_Abi_Invoke(IntPtr thisPtr, IntPtr sender, IntPtr dp) ℹ️ If you need further assistance, please include this information in your support request. ℹ️ Before sending, take a quick look to make sure it doesn't contain any personal or sensitive information. ============================================================ </pre> </details> Message: <img width="2309" height="1341" alt="image" src="https://github.com/user-attachments/assets/3ec20054-402f-421d-bebd-bf848a8eb504" /> <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Partially handles: #41606 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
b87be7263d |
Tests: do not use *relative drive letter* (#43135)
Since we switched to running the build on C:\, this test started failing. C: means "current directory on the C drive"! |
||
|
|
1783812f1f |
Light Switch is not clearing manual override if the boundary happens while offline (#43072)
Bug: If light switch is transitioning while the computer is offline, Light Switch will not clear the manual override at the boundary. Fix: Ensure the "Clear override" logic checks if we are at or past a boundary point. |
||
|
|
0d18727e81 |
[CmdPal] Added recenter window support. (#38943)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Added a new setting option to Command Palette that allows users to choose whether the window should be recentered on every launch or remember its last position. This enhancement improves user experience by maintaining window positioning preferences across sessions. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] **Closes:** #38310 - [x] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments This PR adds a "Recenter window on launch" setting to Command Palette with the following changes: 1. Added a new `RecenterWindow` property to `SettingsModel` (default is true for backward compatibility) 2. Added corresponding property to `SettingsViewModel` for binding 3. Created a new `WindowPosition` class to track window position and size 4. Modified `MainWindow.xaml.cs` to: - Track window position and size changes - Update position memory when window is modified or dismissed - Respect the recenter setting when showing the window 5. Added UI controls in the settings page with proper localization strings  This feature allows users who prefer to have the Command Palette appear in a specific screen location to maintain that preference, while others can continue using the centered window behavior. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed 1. Manually verified that with the setting enabled (default), the window centers on launch 2. Verified that with the setting disabled, the window appears at its last position --------- Signed-off-by: Shawn Yuan <shuai.yuan.zju@gmail.com> Signed-off-by: Shawn Yuan <shuaiyuan@microsoft.com> |
||
|
|
1e40d6b15b |
CmdPal: Extension list search (#41453)
## Summary of the Pull Request Adds a rough implementation that appears to work, but it hasn’t been tested. Don’t rely on it yet—I’m too tired to test properly or write a polished commit message. Pictures? Pictures! <img width="2720" height="1624" alt="image" src="https://github.com/user-attachments/assets/4f9c3360-8d08-4a34-888f-c6890afd0159" /> <img width="2647" height="1558" alt="image" src="https://github.com/user-attachments/assets/3d6c23bc-f26d-4e31-ae09-d91efd304048" /> <img width="2683" height="1536" alt="image" src="https://github.com/user-attachments/assets/6017b2d4-ccd9-4555-b81f-e2b1f78c48e5" /> <img width="577" height="334" alt="image" src="https://github.com/user-attachments/assets/987fea99-05b2-4d31-b90c-327122daa241" /> https://github.com/user-attachments/assets/65a8f8ce-ae09-4272-881d-0b6f56cecfae <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #41451 - [x] Closes: #42031 - [x] Closes: #41800 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Michael Jolley <mike@baldbeardedbuilder.com> |
||
|
|
de00cbf20a |
[CmdPal] Fix filters visibility on non-ListPage (#42828)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR aims to fix the issue where filters from a ListPage remain visible when navigating to other pages. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42827 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments ### Before:  ### After:  <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: Jiří Polášek <me@jiripolasek.com> |
||
|
|
c4e96c7ee9 |
CmdPal: Add hints about bookmark placeholders to the Add/Edit Bookmark form (#42793)
## Summary of the Pull Request This PR adds a short explanation to the Add/Edit Bookmark form, describing how to use placeholders in bookmark URLs or paths <img width="823" height="525" alt="image" src="https://github.com/user-attachments/assets/b66adfc4-2dbc-4934-8796-9d4ad46d9f5f" /> <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42265 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
103429b4d7 |
CmdPal: Add hidden window as owner for tool windows (#42902)
## Summary of the Pull Request This PR changes the method used to hide tool windows from the taskbar and Alt+Tab to a more reliable approach. Previously, this was achieved by adding `WS_EX_TOOLWINDOW` to an unowned top-level window, which proved unreliable in several scenarios. The new implementation assigns a hidden window as the owner of each tool window. This ensures that the window does not appear on the taskbar even when the Windows setting **Settings → System → Multitasking → On the taskbar, show all opened windows** is set to **On all desktops**. ## Change log one-liner Fixes Command Palette windows occasionally appearing on the taskbar under certain system settings. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42395 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** none - [x] **Documentation updated:** no need <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Tested alongside the stable CmdPal on a system with |
||
|
|
01fb831e4e |
[Light Switch] Light Switch should detect changes in Windows Settings and treat as manual override (same as using shortcut) (#42882)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR ensures that Light Switch detects changes to app/system theme from Windows Settings. This PR also introduces new behavior where switching the schedule will cause an instant update to the theme if necessary. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42878 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx |
||
|
|
d197af3da9 |
CmdPal's search bar now accepts page up/down keyboard strokes. (#41886)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request The page up/down keys now function while the search box is focused. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ X ] Closes: #41877 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments Previously, the page up/down keys only performed any action while an item in the list was focused. The page up/down keys did not have any effect while the search box was focused, however the up/down arrows do have effect. This PR enables the page up/down keys while the search box is focused. There is a caveat here. The page up/down behavior is not consistent. I do not see a way to tell the ListView to perform its native page up/down function. Instead, I manually calculate roughly which item to scroll-to. Because of this, the amount of scroll between when the search box is focused and when an item in the ListView is focused is not consistent. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed  In this GIF: 1. CmdPal appears 2. SearchBar focused, down/up arrow keys. 3. SearchBar focused, page down/up keys. 4. Tab to item in ListView 5. ListView item focused down/up arrow keys. 6. ListView item focused page down/up keys. 7. SearchBar focused 8. Filter "abc" 9. SearchBar focused page down/up keys. |
||
|
|
a4791cc493 |
CmdPal: Ensure CommandItemViewModel reacts to changes of replaced Command (#42982)
## Summary of the Pull Request This PR resolves the issue with CommandItemViewModel's subscription to changes in the associated Command when it gets replaced by another Command. The current implementation removes the handler from the old command but fails to attach a new one. ## Change log one-liner <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #42981 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed |
||
|
|
5d6f96559c |
Multiple toys: Exclude TitleBars from tab navigation (#42030)
## Summary of the Pull Request This PR removes title bar controls from tab navigation, solving one of hidden tab stops (the other being #40637). Affected apps: - Command Palette - Settings - Environment Variables - File Locksmith - Hosts File Editor - Registry Preview - Settings (the search box in the title bar is still tab navigable) <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #41944 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed All apps were manually tests, by pressing tab and shift + tab. --------- Co-authored-by: Niels Laute <niels.laute@live.nl> |
||
|
|
b774e13176 |
Fix the foreground style for find my mouse (#42865)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Find my mouse should use full transparent window <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [X] Closes: #42758 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed https://github.com/user-attachments/assets/75c73eb3-04bb-438c-8823-3c9f18923cc6 |