microsoft / microsoft/PowerToys
[Workspaces] Add supported list, launch, and capture CLI
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature / enhancement
Add a supported command-line interface for listing, launching, and capturing PowerToys Workspaces.
Suggested initial commands:
```console
powertoys workspaces list
powertoys workspaces launch
powertoys workspaces capture --name "Development"
```
`list` should support machine-readable output, and `launch` should return meaningful status and exit codes. The public interface should use stable workspace names or IDs rather than requiring callers to depend on undocumented executable arguments or private storage details.
### Scenario when this would be used?
- Restore a development or presentation workspace from a terminal, startup script, Stream Deck, or automation tool.
- Discover workspace IDs and launch them without opening the Workspaces editor.
- Capture a known desktop setup as one step in a repeatable machine-setup workflow.
### Supporting information
Related but distinct requests:
- #34597 requests a shortcut per workspace.
- #44060 concerns discovering command-line arguments for applications contained in a workspace.
This request is for a documented PowerToys CLI that controls Workspaces itself. Commands should follow `doc/devdocs/cli-conventions.md`.
Contributor guide
Research direction
Start with doc/devdocs/cli-conventions.md and review how PowerToys currently exposes Workspaces and its supported commands. Define the documented list, launch, and capture interface, including machine-readable output and status or exit-code behavior. Done means the commands use stable workspace names or IDs and cover the scenarios described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cli, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100