**WARNING:** This PR will probably blow up all in-flight PRs
at some point in the early days of CmdPal, two of us created seperate
`Exts` and `exts` dirs. Depending on what the casing was on the branch
that you checked one of those out from, it'd get stuck like that on your
PC forever.
Windows didn't care, so we never noticed.
But GitHub does care, and now browsing the source on GitHub is basically
impossible.
Closes#38081
This update aligns with Microsoft's security guidelines by pinning all GitHub Action tags and Docker tags to their full-length commits. This practice ensures immutability and reduces the risk of supply chain attacks. Note that 1st and 2nd party actions do not require hash pinning.
* starting to get some of the baseline
* Update NOTICE.md
* Upgrading streamjson gets the others on same version of newtonsoft.json
* Update PowerToys.Settings.csproj
* Update NOTICE.md
* Fix Color Picker resource leak (#38122)
Added a using statement to properly dispose of the Graphics object created from the Bitmap. This fixes resource leak.
* Fix CI complain
* Update MouseInfoProvider.cs
fix whitespace
---------
Co-authored-by: Kai Tao <69313318+vanzue@users.noreply.github.com>
For the winget DSC, Setting developer mode, installing Visual Studio 2022 & fetching and installing VS components all require elevation. Added securityContext: elevated for these resources. These configurations can now be invoked from user context, and will prompt for a single UAC to run resources that require elevation in a separate process.
* Add QuickNotes plugin to third-party Run plugins documentation
* chore: add ruslanlap to spelling allow-list
* chore: add ruslanlap to spelling allow-list
* chore: add ruslanlap to spelling allow-list
* Add ruslanlap to allowed names and remove from expected words list
<!-- 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 settings to enable/disable the system tray icon (enabled by default).
Adopter the term "system tray icon" for consistency with Windows 11 settings.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] **Closes:** #38407
* Make Disable toggle button functional in Shortcuts page
* Clean up main window and aggregate Constants
* Update key remapping naming
* Fix the key visual stretch out issue when the shortcut contains too many keys
* Refactor code structure
* fix wrapping in dialog
* update naming
* Implement Keyboard hook to get the user input of remappings
* Implement Reset for InputControl to make sure InputControl can have correct status for various dialog
This is a fix for a pair of related crashes.
Basically, we'd crash on startup if we failed to initialize WinGet. This could happen in two different places:
* If WinGet wasn't installed, then we'd explode, cause obviously we can't call its APIs
* If we're running as Admin, we won't be able to instantiate it's COM server.
Regardless of how it happens, I've defaulted us to just _not enabling the winget built-in_. That's the simplest solution here.
As I was helpfully reminded, there's also an elevated WindowsPackageManagerFactory we could use too - though, that wouldn't solve the case of "winget isn't installed"
Closes#38460Closes#38440 (most likely)
In CmdPal and PT Run, if you currently try to go to mouse pointer, it fails. This looks to be due to capitalization in the command. This can be validated via run dialog also.
shifting to lowercase fixes the bug.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] **Closes:** #38223
## Summary of the Pull Request
Fix#38337 and implement continuous navigation like PT Run v1
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] **Closes:** #38337
* add settings definition
* fix typos and improve settings
* make spell checker happy
* new icon type error
* first code to handle custom formats
* support parsing of new formats
* spelling and typos
* comment fix
* spell check
* start implement custom format results
* last changes
* finish implementation
* spell checker
* settings name
* add missing format
* reorder settings
* dev docs
* change ELF to EAB
* update dev docs
* last changes
* test cases
* fix typos
* fix typo
* port changes
* fixes
* changes
* fixes
* leap year support
* days in month
* tests
* comment
* fix comment
It appears there are two issues in WinGet regarding the installation of dependencies.
https://github.com/microsoft/winget-cli/issues/4661https://github.com/microsoft/winget-cli/issues/4679
For CmdPal 0.1, we're going to skip installing dependencies to make extension installation more robust. This will mostly work because extensions will depend on the same frameworks as the command palette itself (for now).
We will revert this once these two issues are fixed.
The problem:
> * we need to go update all the Fallback commands. (these are ones that extensions can use to react to the search text - basically, "what the user typed wasn't found immediately, but here's something they can fall back on"
> * this is wacky, because the way I had it, I update each item, and if it "changes visibility", then we need to update the main list, because we've already removed it from the list. So we need to re-update the list to account for that
> * you missed it reading that (and i missed it writing it) but that basically means we re-populate the list F={num fallbacks} times, because each one sends the "do it again" message
> * That results in us basically creating (F+1)*(N=num items+apps) view models, initializing them, and not needing most of them
The crux here being a single thread, to update all the fallback items,
that then only raises _one_ items changed at the very end.
I don't love this, one misbehaving fallback could stop all the others. In theory, we should do a parallel update of all these things, with a like, 1s timeout on each leg.
But it has gotta be faster till we can do #38140 (or similar)
Closes: (not sure I filed one). But the first typed character _felt_ slow.
This is a much tidier solution. Don't default _everything_ to a weight of 1 if the query is whitespace. Instead, do a simple string contains check (because FuzzySearch will beef it on just whitespace)
Closes#38133
I originally based this off of #38157, so I know these two won't collide