Skip to content

Proposal: Command Palette Dock #45201

@niels9001

Description

@niels9001

Description of the new feature / enhancement

Image

The Command Palette Dock is a new optional UI surface that provides persistent, quick access to selected Command Palette extensions, and work in tandem with the Command Palette launcher.
The dock can be enabled from Command Palette settings and pinned to any edge of the screen. You’d be able to pin your favorite extensions to the dock for instant access, without opening Command Palette or interrupting your workflow. The goal is have a your favorite powertoys/tools one click away and can help with things like monitoring your system resources without opening task manager.

All existing extensions would just work without any code changes. When an extension is activated from the dock, its UI is rendered in a flyout, using the exact same extension UI already provided today in the launcher.
If the dock isn’t useful for you, it can simply be disabled and Command Palette continues to function exactly as it does now.

Image

Customization

The dock is designed to be highly configurable. It can be positioned on the top, left, right, or bottom edge of the screen, and extensions can be pinned to three distinct regions of the dock: start, center, and end. Users can also customize the visual appearance, including background, styling, and theme behavior, similar to the main Command Palette shell. An edit mode allows extensions to be dragged, reordered, and moved freely between dock regions.

Image

Image

For extension developers

Extensions can also create their own dedicated dock experiences using the new ICommandProvider3::GetDockBands() function. This allows for extensions to create a set of buttons for users to pin.

Feedback

We’d love to hear your thoughts on this proposal:
• Is this something you’d find useful?
• Which extensions would you pin?
• What scenarios would benefit most from a docked experience?

If you’d like to experiment with it, you can check out the dev/migrie/f/powerdock branch and run the Microsoft.CmdPal.UI project in Visual Studio.

Pull requests and feedback are very welcome 😊

Metadata

Metadata

Assignees

No one assigned

    Labels

    Idea-EnhancementNew feature or request on an existing productProduct-Command PaletteRefers to the Command Palette utility

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions