CmdPal: Add context commands for pinning nested commands#45673
Merged
zadjii-msft merged 42 commits intomainfrom Feb 26, 2026
Merged
CmdPal: Add context commands for pinning nested commands#45673zadjii-msft merged 42 commits intomainfrom
zadjii-msft merged 42 commits intomainfrom
Conversation
this took a lot more wiring than I thought
Like, we're not actually realizing that command needed us to build a context menu for it until we re-retrieve it. dafuq
…parate inside the list page
…e/f/pincushion-actual-implementation
…/migrie/f/pincushion-apps
11 tasks
jiripolasek
previously approved these changes
Feb 19, 2026
src/modules/cmdpal/Microsoft.CmdPal.UI/CommandPaletteContextMenuFactory.cs
Show resolved
Hide resolved
src/modules/cmdpal/Microsoft.CmdPal.UI/Strings/en-us/Resources.resw
Outdated
Show resolved
Hide resolved
src/modules/cmdpal/Microsoft.CmdPal.UI/CommandPaletteContextMenuFactory.xaml.cs
Outdated
Show resolved
Hide resolved
jiripolasek
reviewed
Feb 19, 2026
src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/TopLevelItemPageContext.cs
Outdated
Show resolved
Hide resolved
…e/f/pincushion-actual-implementation
…/migrie/f/pincushion-apps
if you don't, then eventually, we'll GC this object, and all objects that took a weak ref on it will throw.
…on-context-factory
Base automatically changed from
dev/migrie/f/pincushion-context-factory
to
main
February 24, 2026 12:26
The base branch was changed.
…://github.com/microsoft/powertoys into dev/migrie/f/pincushion-actual-implementation
…on-context-factory
…e/f/pincushion-actual-implementation
if you don't it'll eventually get gc'd and we'll explode
…://github.com/microsoft/powertoys into dev/migrie/f/pincushion-actual-implementation
…/migrie/f/pincushion-apps
…on-actual-implementation
…to dev/migrie/f/pincushion-actual-implementation
…on-actual-implementation
jiripolasek
approved these changes
Feb 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



targets #45572
This change allows our contact menu factory to actually create and add additional context menu commands for pinning commands to the top level. Now for any command provider built with the latest SDK that return subcommands with an ID, we will add additional context menu commands that allows you to pin that command to the top level.
related to #45191
related to #45201
This PR notably does not remove pinning from the apps extension. I thought that made sense to do as a follow-up PR for the sake of reviewability.
description from #45676 which was merged into this
Removes the code that the apps provider was using to support pinning apps to the top level list of commands. Now the all apps provider just uses the global support for pinning commands to the top level.
This does have the side effect of removing the separation of pinned apps from unpinned apps on the All Apps page. However, we all pretty much agree that wasn't a particularly widely used feature, and it's safe to remove.
With this, we can finally call this issue done 🎉
closes #45191