microsoft / microsoft/PowerToys

FancyZones support for hardware-accelerated/custom canvas window frameworks (e.g., JUCE, frameless Electron)

Open
#48,626 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs-Triage Product-FancyZones
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

Add an option in FancyZones to track window movement using global mouse cursor coordinates as a fallback. If FancyZones can monitor the physical screen coordinates of the cursor while the left mouse button is held down over an active window process, it could trigger the zone layouts to light up and accept the snap on release.

### Scenario when this would be used?

This is critical for apps built on hardware-accelerated custom canvas frameworks like JUCE (e.g., Loopcloud, standalone VSTs, and audio tools). These apps draw their own GUIs and completely swallow standard Win32 window messages like WM_MOVING and WM_ENTERSIZEMOVE. Because of this, Windows doesn't register they are being dragged, leaving FancyZones completely blind to them even when holding the Shift key or running as Admin.

### Supporting information

I have attempted to force standard OS borders using third-party window managers (Actual Window Manager) and universal tab containers (Stardock Groupy 2), but the underlying JUCE architecture completely bypasses or rejects these window hooks. Relying purely on mouse pointer location tracking during a drag event seems to be the only bulletproof way to make these non-standard creative applications snappable on the fly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points; start by locating FancyZones’ existing window-drag detection and zone-preview handling. Compare that path with global cursor tracking while the left button is held over an active window, and define done as custom-canvas windows triggering zone layouts and accepting a snap on release.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.