microsoft / microsoft/PowerToys

Enhanced Desktop Management

Open
#45,359 2 comments 0 reactions 0 assignees View on GitHub
duplicate Needs-Triage Product-FancyZones Product-Window Manager Product-Workspaces
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

I use multiple virtual desktops to manage different workflows. I’d like PowerToys to introduce a dedicated "Desktops" or "Workspace" utility to enhance the experience.

1. Unique FancyZones per Virtual Desktop
Right now, if I set a FancyZones layout, it is applied to a physical monitor across every single virtual desktop. Since I use different desktops for different tasks (e.g., one for coding, one for communication), I would like the ability to assign a different layout to Desktop 1 than to Desktop 2 and 3. The utility would need to detect when a desktop switch occurs and automatically swap the active FancyZones template, or assign different Fancy Zone layouts to each Desktop in the background.

2. Independent Monitor Mapping (Desktop Pinning)
The way Windows handles "Extend these displays" is often frustrating when using an external monitor or AV device. I’m looking for a way to link a specific virtual desktop to a specific physical monitor.

For example: I’d like to keep Monitor 2 (external) "locked" to Desktop 2, while still being able to cycle through all on my primary laptop screen. Essentially, this would decouple the desktop switching so it doesn't have to happen on all monitors simultaneously, and it becomes "disabled" for the external monitor.

The result would be the ability to use multiple desktops while presenting to a crowd, but having the external display locked to a single virtual desktop. Ideally this would include the ability to show the same virtual desktop on both monitors (Desktop 2 in this example), so Monitor 1 can switch between Desktop 1,2,3 while Monitor 2 stays locked to Desktop 2.

```
CURRENT DEFAULT BEHAVIOR IN WINDOWS:

[ Monitor 1 ] [ Monitor 2 ]
[ Desktop A ] + [ Desktop A ] <-- Standard
| |
(CTRL+WIN+RIGHT) |
v v
[ Desktop B ] + [ Desktop B ] <-- Both change

DESIRED NEW BEHAVIOR USING POWER TOYS

[ Monitor 1 ] [ Monitor 2 ]
[ Desktop 1 ] + [ Desktop 2 ] <-- Initial State (Mapped)
| |
(CTRL+WIN+RIGHT) |
v |
[ Desktop 2 ] + [ Desktop 2 ] <-- Monitor 2 stays locked
| |
(CTRL+WIN+RIGHT) |
v |
[ Desktop 3 ] + [ Desktop 2 ] <-- Only Primary cycles
| |
(CTRL+WIN+RIGHT) |
v |
[ Desktop 4 ] + [ Desktop 2 ] <-- Only Primary cycles

```

I realize this is a significant technical ask that might involve a virtual display driver, but it would solve the "all or nothing" limitation currently baked into Windows. And it would supercharge PowerToys for presenters and educators.

### Scenario when this would be used?

For presenters and educators, the "all or nothing" nature of Windows desktop switching is a major hurdle. This feature would allow someone to project a clean, dedicated workspace (like a slide deck or a live demo) to an external audience while still keeping their local laptop screen entirely flexible.

The real value here is the ability to switch through multiple private desktops to check notes, find files, or respond to messages without the audience ever seeing that background activity. It effectively turns the external monitor into a stable "stage" that remains untouched, even while the presenter is navigating through different tasks on their primary display - or occasionally interacting with the projected desktop on their laptop screen. This creates a much more professional environment by removing the risk of accidentally showing sensitive or irrelevant content during a live session.

Is essentially "Multiple desktops for presenters".

If all this is too hard, a workaround "better than nothing" could be to at least prevent an external monitor from switching desktops when "the rest of Windows" does. This would mimic what macOS does with the "Displays have separate Spaces" setting.

### Supporting information

This functionality is already a standard feature in other professional-grade operating systems. For example, macOS includes a "Displays have separate Spaces" toggle that allows for this exact independent switching. Similarly, several Linux window managers treat virtual desktops as per-monitor entities. While third-party tools like Actual Window Manager or Independent Virtual Desktops try to fill this gap on Windows, having this integrated into PowerToys would provide the stability and FancyZones integration that power users currently lack.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are identified. Start by determining whether Windows exposes the per-monitor virtual-desktop behavior described and how FancyZones currently handles desktop changes; done would require an agreed, scoped implementation and validation plan.

Written by the indexing model from the issue text.

Assessment

Domain
desktop-dev, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.