Overview
FancyZones is a powerful window manager that allows you to create custom window layouts and quickly snap windows into predefined zones. It’s perfect for organizing multiple applications across one or more monitors with consistent, efficient layouts.FancyZones can remember where applications were placed and automatically restore them to those zones when reopened.
Activation
Key Features
Custom Zone Layouts
Grid Layouts
Divide screen into equal grid cells2x2, 3x3, or custom dimensions
Template Layouts
Pre-designed layouts for common workflowsFocus, Columns, Rows, Priority Grid
Custom Layouts
Draw your own zone configurationsPixel-perfect control
Multi-Monitor
Different layouts per monitorIndependent zone configurations
Window Snapping
Multiple methods to snap windows:- Drag with Shift
- Win + Arrow Keys
- Zone Number Shortcuts
Primary method:
- Click and start dragging a window
- Hold
Shiftkey - Zone overlay appears
- Drag to desired zone
- Release mouse button
Layout Editor
Create and customize layouts:- Visual zone editor
- Drag to resize zones
- Snap zones to edges
- Spacing configuration
- Zone count adjustment
- Color preview
Zone Behaviors
Customize how zones look:
- Zone colors
- Border thickness
- Opacity levels
- Number display
- Zone highlighting
Control snap mechanics:
- Snap sensitivity
- Show zones on drag
- Move newly created windows to zones
- Restore zone layouts on relaunch
Per-monitor configuration:
- Independent layouts per display
- Move windows between monitors preserves zones
- Span windows across zones
App-Specific Zones
FancyZones remembers window placements:- Application History: Tracks which app was in which zone
- Auto-Restore: Reopened apps return to their zones
- Virtual Desktop Aware: Different layouts per virtual desktop
Configuration
Settings Location
Core Settings
Shortcut to open layout editor
Automatically move new windows to zones
Snap windows to nearest zone automatically
Use FancyZones behavior for Win+Arrow keys
Color of zone borders in hex format
Opacity percentage for zone highlights (0-100)
Applications excluded from FancyZones
Restore window original size when moved out of zone
Layout Templates
Built-in templates:- Focus
- Columns
- Priority Grid
Large center zone with smaller side panels:
Use Cases
Development Workflows
Code + Documentation
Code + Documentation
Side-by-side coding layout:
Full Stack Development
Full Stack Development
Multi-pane development setup:
- Zone 1: Code editor (60% width)
- Zone 2: Browser DevTools (40% width, top)
- Zone 3: Terminal (40% width, bottom)
Debugging
Debugging
Debugging layout:
- Large center: Application being debugged
- Left sidebar: Code editor
- Right sidebar: Debug console
- Bottom: Watch variables
Content Creation
Video Editing
Zone 1: Timeline (bottom, full width)Zone 2: Preview (top left)Zone 3: Effects/Media browser (top right)
Graphic Design
Zone 1: Design canvas (center, large)Zone 2: Layers panel (right)Zone 3: Color picker/tools (left)
Productivity
Email + Calendar
Split screen for email client and calendarQuick reference while scheduling
Research
Multiple browser windows in zonesCompare sources side-by-side
Writing
Document editor + research materialsKeep references visible while writing
Communication
Chat apps in dedicated zonesMonitor multiple channels
Multi-Monitor Setups
- 2 Monitors
- 3+ Monitors
- Vertical Monitor
Monitor 1 (Primary):
- Zone 1: Main work application (full)
- Zone 1: Reference materials (top)
- Zone 2: Communication (bottom)
Keyboard Shortcuts
Layout Management
| Shortcut | Action |
|---|---|
Win+Shift+~ | Open layout editor (default) |
Win+Left/Right | Snap to zones (when override enabled) |
Window Snapping
| Shortcut | Action |
|---|---|
Shift + Drag | Show zone overlay while dragging |
Shift + Drag + 1-9 | Snap to specific numbered zone |
Editor Shortcuts
| Shortcut | Action |
|---|---|
+ / - | Add/remove zones (grid mode) |
Arrow Keys | Adjust zone boundaries |
Ctrl+S | Save layout |
Esc | Cancel and close editor |
Technical Details
Architecture
Zone Storage
Layouts stored as JSON:Window Tracking
src/modules/fancyzones/FancyZonesLib/FancyZonesData/AppZoneHistory.cpp
Dragging State
Manages window drag operations:src/modules/fancyzones/FancyZonesLib/DraggingState.cpp
Troubleshooting
Zone overlay not appearing
Zone overlay not appearing
Check:
- FancyZones is enabled in PowerToys Settings
- Holding
Shiftkey while dragging - Window is not in excluded apps list
- Layout is applied to current monitor
- Restart PowerToys
- Reapply layout in editor
- Check Windows animation settings
Windows not snapping to zones
Windows not snapping to zones
Possible causes:
- Application is excluded
- Window is non-standard (e.g., WPF with custom chrome)
- Elevated application (PowerToys not elevated)
- Remove app from excluded list
- Run PowerToys as administrator
- Use standard window dragging (title bar)
Layout lost after display change
Layout lost after display change
When monitors disconnect/reconnect:
- Open layout editor (
Win+Shift+~) - Verify correct monitor selected
- Reapply or recreate layout
- Save layout
Apps not restoring to zones
Apps not restoring to zones
Check settings:
- “Restore windows to their zone layouts” enabled
- Application launched normally (not as admin if PowerToys isn’t)
- App zone history not cleared
- Clear app history in FancyZones settings
- Manually snap apps to zones again
- Close and reopen apps to verify
Command Line Interface
FancyZones includes a CLI for automation and scripting:Available Commands
Get Information:The CLI requires FancyZones to be running. All commands send notifications to the running instance.
See Also
- Always On Top - Keep windows visible
- Crop and Lock - Create custom window views
- PowerToys Run - Quick window switching