FancyZones utility – Download

FancyZones is a highly effective window management utility that’s part of the Microsoft PowerToys suite, designed to enhance productivity by allowing users to organize and snap windows into efficient layouts on their desktops. This utility is especially beneficial for users looking to optimize their workflow by managing multiple applications simultaneously.

FancyZones is a window manager utility for arranging and snapping windows into efficient layouts to improve your workflow and restore layouts quickly. You can define a set of zone locations to use as targets for windows on your desktop. When you drag a window into a zone, or enter the associated keyboard shortcut, the window is resized and repositioned to fill that zone.

FancyZones

Windows 11 already has a feature called Snap layouts that lets you do this, but it might not be customizable enough for everyone. Luckily, there’s an even more flexible tool you can use – it’s called FancyZones. FancyZones is part of a set of tools from Microsoft called PowerToys.

Key Features and Usage

  • Layout Editor: FancyZones includes a layout editor that allows users to select from predefined layouts or create custom ones. The layout editor can be accessed by selecting “Launch layout editor” in PowerToys settings or using a keyboard shortcut (default is Win + Shift + `). Users can customize layouts by adjusting the number of zones, their size, and their position on the screen.
  • Custom Layouts: There are two styles for custom layouts: Grid and Canvas. The Grid layout starts with a three-column grid and enables users to split, merge, and move zones. The Canvas layout allows adding, moving, and resizing zones freely, similar to arranging windows on a desktop.
  • Keyboard Shortcuts: FancyZones supports various keyboard shortcuts for managing windows and layouts. For example, Win + Arrow keys can be used to move windows between zones, Win + PgUp/PgDn to cycle between windows in the same zone, and Win + Ctrl + Alt + [number] to quickly apply a custom layout.
  • Zone Behaviors: Users can customize how zones interact with windows, such as adjusting the space around zones, setting the behavior of windows when the screen resolution changes, and defining how overlapping zones are handled.
  • Snap Assistance for Elevated Applications: To snap applications running with elevated permissions, PowerToys needs to be run in administrator mode.
  • Quick Layout Switching: FancyZones allows for quick layout switching, enabling users to assign hotkeys to custom layouts for rapid application.
  • Settings Customization: A wide range of settings are available to customize the behavior and appearance of zones, including activation shortcuts, zone appearance (colors, opacity, border), and window behavior (e.g., keeping windows in their zones when the display configuration changes).

Practical Usage Scenario

A typical use case for FancyZones might involve a user who frequently works with several applications simultaneously (e.g., a web browser, code editor, and terminal). With FancyZones, the user can create a custom layout that optimally arranges these applications on their screen. For instance, they could create a layout with a large central zone for the code editor flanked by smaller zones for the browser and terminal. Once the layout is configured, the user can quickly snap their applications into these predefined zones, significantly streamlining their workflow and reducing the time spent arranging windows manually.

Snapping to a single zone with mouse

Drag the window. By default, you’ll also need to select and hold the Shift key. You’ll see the zones appear. As you move your mouse, hovering over a zone will highlight that zone.

You can also trigger zone selection mode by using a non-primary mouse button if Use non-primary mouse button to toggle zone activation is selected.

If both Hold Shift key to activate zones while dragging and Use non-primary mouse button to toggle zone activation are cleared, zones will appear immediately after you start dragging the window.

FancyZones utility download

Snapping to a single zone with keyboard

Select Override Windows Snap in the FancyZones settings. Use Win+[arrow keys] to snap a window to a zone. Use Move windows based on to choose whether to move windows based the zone index or a window’s relative position.

Snapping to multiple zones

A window can be snapped to more than one zone in the following ways.

Snapping to two zones by hovering the edges

If two zones are adjacent, you can snap a window to the sum of their area (rounded to the minimum rectangle that contains both). When the mouse cursor is near the common edge of two zones, both zones are activated simultaneously, allowing you to drop the window into both zones.

Snapping to multiple zones with the mouse and keyboard

Drag the window until one zone is activated, then press and hold the Ctrl key while dragging the window to select multiple zones.

FancyZones powertoys

Snapping to multiple zones with only the keyboard

Turn on the Override Windows Snap toggle and select Move windows based on: Relative position. Use Win+Ctrl+Alt+[arrow keys] to expand the window to multiple zones.

Window switching

When two or more windows are snapped in the same zone, you can cycle between the snapped windows in that zone by using the shortcut Win+PgUp/PgDn.

Shortcut keys

ShortcutAction
⊞ Win+Shift+`Launches the editor (this shortcut can be changed in the Settings window)
⊞ Win+Left/RightMove focused window between zones (only if Override Windows Snap hotkeys is selected and Zone index is chosen; in that case only the ⊞ Win+Left and ⊞ Win+Right are overridden, while the ⊞ Win+Up and ⊞ Win+Down keep working as usual)
⊞ Win+Left/Right/Up/DownMove focused window between zones (only if Override Windows Snap hotkeys is selected and Relative position is chosen; in that case all the ⊞ Win+Left⊞ Win+Right⊞ Win+Up and ⊞ Win+Down are overridden)
⊞ Win+PgUp/PgDnCycle between windows snapped to the same zone
⊞ Win+Ctrl+Alt+[number]Quickly apply custom layout (you need to assign number to the custom layout in the editor first)

FancyZones doesn’t override the Windows ⊞ Win+Shift+[arrow keys] to quickly move a window to an adjacent monitor.

Getting started with the editor

To begin using FancyZones, you must first download and install Microsoft PowerToys. Once installed, enable FancyZones through the PowerToys settings, and then you can launch the layout editor to start creating or selecting your preferred window layouts​​​​​​.

FancyZones represents a powerful tool for enhancing productivity on Windows by providing sophisticated window management capabilities that go beyond the built-in Snap Assist feature, particularly for users with complex multitasking needs.

Open the layout editor

Open the layout editor by selecting Launch layout editor or by pressing Win+Shift+` (“back-tick” or “accent grave”). You can change the FancyZones layout editor shortcut in PowerToys Settings.

Layout Editor: Choose your layout

When you first launch the layout editor, you’ll see a list of layouts that can be adjusted by how many windows are on the monitor. Selecting a layout shows a preview of that layout on the screen. The selected layout is applied automatically. Double-clicking a layout will apply it and close the editor. The editor will detect and display the available monitors. Select a monitor, and it becomes the target of the selected layout.

Space around zones

Show space around zones sets the size of margin around each FancyZone window. Enter a custom value for the width of the margin in Space around zones. With the layout editor open, change Show space around zones after changing the values to see the new value applied.

Distance to highlight adjacent zones sets a custom value for the amount of space between zones until they snap together, or before both are highlighted enabling them to merge together.

Default layout for horizontal monitor orientation and Default layout for vertical monitor orientation set which layout to use as the default when the display configuration is changed in the system (for example, if you add a new display).

Creating a custom layout

Select + Create new layout at the bottom.

There are two styles of custom zone layouts: Grid and Canvas.

The Grid model starts with a three column grid and allows zones to be created by splitting and merging zones, moving the gutter between zones as desired. This is a relative layout and will resize with different screen sizes. You can edit the layout using mouse or using keyboard.

Mouse

  • To divide a zone: click your mouse. To rotate the divider: hold down the Shift key.
  • To move a divider: click on the thumb and drag or select the thumb by focusing the layout.
  • To merge/delete zones: select a zone, hold the left mouse button and drag the mouse until multiple zones are selected. Release the button and a popup menu will show up. Select Merge and they will become one zone. This is how a zone should be deleted, by merging it into another zone.

Keyboard

  • First, focus the layout by pressing Ctrl+Tab. All zones and dividers can be focused by pressing Tab key.
  • To divide a zone: focus the zone you want to divide and press S or Shift+S to divide it.
  • To move a divider: focus the divider and press arrow keys to move it.
  • To merge/delete zones: focus the divider between zones and press Delete. All zones adjacent to deleted divider will be merged into one zone.

The Canvas model starts with one zone and supports adding zones that can be moved and resized, similar to windows. Zones in the canvas model may be overlapping.

Canvas layout also has keyboard support for zone editing. Use the arrow keys (Left, Right, Up, Down) to move a zone by 10 pixels, or Ctrl+arrow to move a zone by 1 pixel. Use the Shift+arrow keys to resize a zone by 10 pixels (5 per edge), or Ctrl+Shift+arrow to resize a zone by 2 pixels (1 per edge). To switch between the editor and dialog, press the Ctrl+Tab keys.

Quickly changing between custom layouts

A custom layout can be configured to have a user-defined hotkey to quickly apply it to the active screen. The hotkey can be set by opening the custom layout’s edit dialog. Once set, the custom layout can be applied by pressing the Win+Ctrl+Alt+[number] binding. The layout can also be applied by pressing the hotkey when dragging a window.

In the demo below, we start with a default template applied to the screen and two custom layouts that we assign hotkeys for. We then use the Win+Ctrl+Alt+[number] binding to apply the first custom layout and snap a window to it. Finally, we apply the second custom layout while dragging a window and snap the window to it.

Tip

The settings for custom zone layouts are saved in the file %LocalAppData%\Microsoft\PowerToys\FancyZones\custom-layouts.json. This file can be manually changed to tweak zones, and exported to share layouts across devices. Other json files in the same directory can be modified to alter settings for monitors, layout hotkeys, etc. Be warned that editing these files is not recommended as it may cause other issues with FancyZones functionality.

Settings

SettingDescription
Activation shortcutTo change the default hotkey, click on the control and enter the desired key combination.
Launch editor on the displaySelect where the Editor will show.
Hold Shift key to activate zones while draggingToggles between auto-snap mode with the Shift key (disabling snapping during a drag) and manual snap mode where pressing the Shift key during a drag enables snapping.
Use a non-primary mouse button to toggle zone activationClicking a non-primary mouse button toggles the zones activation
Use middle mouse button to toggle multiple zones spanningUse the middle mouse button to select multiple zones
Show zones on all monitors while dragging a windowBy default, FancyZones shows only the zones available on the focused monitor. (This feature may have a performance impact when selected)
Allow zones to span across monitors (all monitors must have the same DPI scaling)Treat all connected monitors as one large screen. To work correctly, it requires all monitors to have the same DPI scaling factor. (There might be unexpected effects when using monitors in different orientations)
When multiple zones overlapChoose how to deal with overlapping zones.
Zone appearanceChoose system or custom colors for the layouts
Show zone numberShould the number of the zone be visible when layout is shown
Opacity (%)The percentage of opacity of active and inactive zones. (default: 50%)
Highlight colorThe color of a zone when it is the active drop target during the dragging of a window.
Inactive colorThe color of zones when they are not an active drop during the dragging of a window.
Border colorThe color of the border of active and inactive zones.
Number colorThe color of the number of the zone
Keep windows in their zones when the screen resolution changesFancyZones will resize and reposition windows into the zones they were previously in, after a screen resolution change.
During zone layout changes, windows assigned to a zone will match new size/positionFancyZones will resize and position windows into the new zone layout by maintaining the previous zone number location of each window.
Move newly created windows to the last known zoneAutomatically move a newly opened window into the last zone location that application was in.
Move newly created windows to the current active monitorWhen this option is selected, and Move newly created windows to the last known zone is cleared or the application doesn’t have a last known zone, it moves the application on the current active monitor.
Restore the original size of windows when unsnappingUnsnapping a window will restore its size as before it was snapped.
Make dragged window transparentWhen the zones are activated, the window being dragged is made transparent to improve the layout visibility.
Allow popup windows snappingPopup windows couldn’t be snapped by default. However, this could be the reason why some windows don’t trigger FancyZones when dragging. This setting affects all popup windows including notifications.
Allow child windows snappingChild windows couldn’t be snapped by default. However, this could be the reason why some windows don’t trigger FancyZones when dragging.
Disable round corners when window is snappedOnly for Windows 11.
Switch between windows in the current zoneAllows cycling activation between windows in the same zone.
Next windowTo change the default hotkey, click on the control and then enter the desired key combination.
Previous windowTo change the default hotkey, click on the control and then enter the desired key combination.
Override Windows Snap hotkeys (Win + arrow) to move between zonesWhen this option is checked and FancyZones is running, it overrides the Windows Snap keys: ⊞ Win+Left⊞ Win+Right⊞ Win+Up and ⊞ Win+Down.
Move windows based onZone index allows to use ⊞ Win+Left and ⊞ Win+Right to snap a window based on its index. ⊞ Win+Up⊞ Win+Down are not overridden.
Relative position overwrites all ⊞ Win+[arrow keys] and chooses zone to snap relative to the zone layout
Move windows between zones across all monitorsCleared: snapping with ⊞ Win+[arrow keys] cycles the window through the zones on the current monitor.
Selected: it cycles the window through all the zones on all monitors.
Enable quick layout switchEnables hotkeys to quickly changes layouts – see individual layout settings.
Flash zones when switching layoutThe zones will flash when a layout is selected via the shortcut.
Exclude applications from snapping to zonesAdd an application’s name, or part of the name, one per line (e.g. adding Notepad will match both Notepad.exe and Notepad++.exe; to match only Notepad.exe add the .exe extension)

Leave a Comment