FancyZones:创建自定义窗口布局
FancyZones 是 PowerToys 中的窗口管理工具,可将窗口排列、贴靠到自定义布局,提高工作效率。你可以在桌面上定义特定区域,作为窗口的放置目标;将窗口拖入区域或使用键盘快捷键后,工具会自动调整其大小和位置。
用鼠标贴靠到单个区域
拖动窗口。默认情况下还需要按住 Shift,此时会显示区域;鼠标悬停到某个区域上时,该区域会高亮。
如果启用了“使用非主鼠标键切换区域激活”,也可以用非主鼠标键进入区域选择模式。
如果同时关闭“拖动时按住 Shift 激活区域”和“使用非主鼠标键切换区域激活”,开始拖动窗口后就会立即显示区域。

用键盘贴靠到单个区域
在 FancyZones 设置中启用“覆盖 Windows 贴靠”,然后使用 Win + 方向键将窗口贴靠到区域。“窗口移动依据”可选择按区域索引或窗口相对位置移动。

贴靠到多个区域
可通过以下方式让一个窗口占据多个区域。
悬停在边界以贴靠两个区域
若两个区域相邻,可让窗口覆盖它们的合并范围,并扩展为包含二者的最小矩形。鼠标靠近共同边界时,两个区域会同时激活,此时放下窗口即可。
用鼠标和键盘选择多个区域
拖动窗口直到一个区域激活,再按住 Ctrl 继续拖动,选择多个区域。

仅用键盘贴靠多个区域
启用“覆盖 Windows 贴靠”,并将“窗口移动依据”设为“相对位置”。使用 Win + Ctrl + Alt + 方向键,将窗口扩展到多个区域。

切换窗口
当同一区域内贴靠了两个或更多窗口时,使用 Win + PgUp/PgDn 在这些窗口间循环切换。
快捷键
| 快捷键 | 操作 |
|---|---|
| Win + Shift + ` | 打开编辑器;可在设置中修改。 |
| Win + 左/右 | 开启覆盖贴靠快捷键并选择“区域索引”时,在区域之间移动当前窗口。此时只接管左右键,上下键仍按 Windows 原有方式工作。 |
| Win + 左/右/上/下 | 开启覆盖贴靠快捷键并选择“相对位置”时,在区域间移动当前窗口;四个方向均被接管。 |
| Win + PgUp/PgDn | 循环切换贴靠在同一区域的窗口。 |
| Win + Ctrl + Alt + 数字 | 快速应用自定义布局;需先在编辑器中为布局分配数字。 |
FancyZones 不会覆盖 Windows 的 Win + Shift + 方向键;该快捷键仍可快速将窗口移到相邻显示器。
贴靠以提升权限运行的应用
要贴靠以提升权限运行的应用,例如 Windows Terminal 或任务管理器,需要以管理员模式运行 PowerToys。详见以管理员身份运行。
开始使用编辑器
FancyZones 内置布局编辑器,可从 PowerToys 设置进入。
打开布局编辑器
选择“打开布局编辑器”,或按 Win + Shift + `(反引号)。可在 PowerToys 设置中修改此快捷键。

布局编辑器:选择布局
首次打开编辑器时,会看到布局列表,可根据显示器上的窗口数量进行调整。选中布局后,屏幕会显示预览,并自动应用。双击布局会应用并关闭编辑器。选中某台显示器后,它就成为布局的应用目标。

区域周围的间距
“显示区域周围的间距”决定各 FancyZone 窗口周围的边距。“区域周围的间距”可输入自定义宽度。编辑器打开时,修改数值后切换“显示区域周围的间距”,即可看到新值生效。
“高亮相邻区域的距离”设置触发相邻区域同时高亮的距离阈值,让它们能够合并为共同的贴靠目标。
“横向显示器的默认布局”和“纵向显示器的默认布局”决定系统显示配置变化时采用的默认布局,例如添加新显示器时。

创建自定义布局
选择底部“创建新布局”。自定义布局有两种样式:网格(Grid)和画布(Canvas)。
网格模式从三列开始,通过拆分、合并区域和移动区域间分隔线创建布局。它是相对布局,会随屏幕尺寸调整,可以用鼠标或键盘编辑。
鼠标操作
- 拆分区域:单击鼠标;按住 Shift 可旋转分隔线方向。
- 移动分隔线:单击拖动手柄并拖动,或先聚焦布局,再选择手柄。
- 合并或删除区域:选中一个区域,按住鼠标左键并拖动,直到选中多个区域;松开后在弹出菜单中选“合并”。删除区域就是将它合并到另一区域中。
键盘操作
- 先按 Ctrl + Tab 聚焦布局,再用 Tab 在各区域和分隔线之间切换焦点。
- 拆分区域:聚焦目标区域,按 S 或 Shift + S。
- 移动分隔线:聚焦分隔线后使用方向键。
- 合并或删除区域:聚焦区域之间的分隔线后按 Delete;该分隔线相邻的区域会合并。

画布模式从一个区域开始,可增加、移动和调整区域大小,操作方式类似窗口。画布中的区域可以重叠。
画布也支持键盘编辑:方向键每次移动 10 像素,Ctrl + 方向键每次移动 1 像素;Shift + 方向键每次调整大小 10 像素(每边 5 像素),Ctrl + Shift + 方向键每次调整大小 2 像素(每边 1 像素)。Ctrl + Tab 可在编辑器和对话框之间切换。

快速切换自定义布局
在自定义布局的编辑对话框中,可以分配用户定义的热键,将布局快速应用到活动屏幕。配置完成后,按 Win + Ctrl + Alt + 数字即可应用。拖动窗口时,也可以按该布局热键来应用。
下面的原始演示从默认模板和两个已分配热键的自定义布局开始。先用 Win + Ctrl + Alt + 数字应用第一个布局并贴靠窗口,再在拖动窗口时应用第二个布局并完成贴靠。

设置
| 设置 | 说明 |
|---|---|
| 激活快捷键 | 单击控件并输入所需按键组合,修改默认快捷键。 |
| 编辑器打开的显示器 | 选择编辑器显示在哪个屏幕。 |
| 拖动时按住 Shift 激活区域 | 在自动贴靠与手动贴靠模式之间切换:自动模式下 Shift 可在拖动时禁用贴靠;手动模式下拖动时按 Shift 才启用贴靠。 |
| 使用非主鼠标键切换区域激活 | 单击非主鼠标键,切换区域激活状态。 |
| 使用鼠标中键切换跨多个区域 | 用鼠标中键选择多个区域。 |
| 拖动窗口时在所有显示器上显示区域 | 默认只显示当前焦点显示器的区域。启用后可能影响性能。 |
| 允许区域跨显示器(所有显示器的 DPI 缩放必须一致) | 将全部连接的显示器视为一块大屏幕。所有显示器必须采用相同 DPI 缩放比例;不同屏幕方向混用时可能产生意外效果。 |
| 多个区域重叠时 | 选择处理重叠区域的方式。 |
| 区域外观 | 为布局选择系统颜色或自定义颜色。 |
| 显示区域编号 | 控制显示布局时是否显示区域编号。 |
| 不透明度(%) | 活动及非活动区域的不透明度,默认 50%。 |
| 高亮颜色 | 拖动窗口时,当前放置目标区域的颜色。 |
| 非活动颜色 | 拖动窗口时,非当前放置目标区域的颜色。 |
| 边框颜色 | 活动和非活动区域的边框颜色。 |
| 编号颜色 | 区域编号的颜色。 |
| 屏幕分辨率变化时保持窗口所在区域 | 分辨率变化后,将窗口重新调整大小和位置,使其仍位于原区域。 |
| 区域布局变化时,已分配窗口匹配新大小和位置 | 保持每个窗口原有区域编号,并按新布局调整其大小和位置。 |
| 将新建窗口移到上次已知区域 | 自动将新打开窗口移到该应用上次所在区域。 |
| 将新建窗口移到当前活动显示器 | 启用后,如果未启用“移到上次已知区域”,或该应用没有上次已知区域,就将它移到当前活动显示器。 |
| 取消贴靠时恢复窗口原始大小 | 脱离区域后恢复贴靠前的大小。 |
| 使拖动中的窗口透明 | 区域激活时,将拖动中的窗口变为透明,让布局更清楚。 |
| 允许弹出窗口贴靠 | 默认不允许弹出窗口贴靠,这可能是某些窗口拖动时未触发 FancyZones 的原因。此设置影响所有弹出窗口,包括通知。 |
| 允许子窗口贴靠 | 默认不允许子窗口贴靠,这可能是某些窗口拖动时未触发 FancyZones 的原因。 |
| 窗口贴靠时禁用圆角 | 仅适用于 Windows 11。 |
| 切换当前区域中的窗口 | 允许在同一区域的窗口之间循环激活。 |
| 下一个窗口 | 单击控件并输入所需组合键,修改默认快捷键。 |
| 上一个窗口 | 单击控件并输入所需组合键,修改默认快捷键。 |
| 覆盖 Windows 贴靠快捷键(Win + 方向键)以在区域间移动 | 勾选且 FancyZones 运行时,接管相应的 Windows 贴靠按键;具体接管范围取决于下一项移动依据。 |
| 窗口移动依据 | 区域索引:Win + 左/右按索引贴靠,Win + 上/下保持原有行为。相对位置:接管 Win + 所有方向键,根据布局中的相对位置选择目标区域。 |
| 在所有显示器的区域间移动窗口 | 关闭:Win + 方向键只在当前显示器的区域中循环。开启:在全部显示器的全部区域中循环。 |
| 启用快速布局切换 | 启用快速切换布局的热键,具体按键见各布局设置。 |
| 切换布局时闪烁显示区域 | 通过快捷键选择布局时,区域会闪烁提示。 |
| 排除不参与区域贴靠的应用 | 每行输入一个应用名称或名称的一部分。例如 Notepad 同时匹配 Notepad.exe 和 Notepad++.exe;若只匹配 Notepad.exe,应包含 .exe 扩展名。 |

命令行参考
FancyZones CLI 可直接从命令行应用和管理窗口布局。
| 命令 | 别名 | 说明 |
|---|---|---|
help |
显示所有命令的常规帮助 | |
open-editor |
editor、e | 启动 FancyZones 布局编辑器 |
get-monitors |
monitors、m | 列出所有显示器及属性 |
get-layouts |
layouts、ls | 列出全部可用布局及 ASCII 图示预览 |
get-active-layout |
active、a | 显示当前活动布局 |
set-layout <uuid> |
set、s | 按 UUID 或模板名称应用布局 |
open-settings |
settings | 打开 FancyZones 设置页 |
get-hotkeys |
hotkeys、hk | 列出全部布局热键 |
set-hotkey <key> <uuid> |
shk | 为自定义布局分配 0—9 热键 |
remove-hotkey <key> |
rhk | 移除热键分配 |
用法示例
# List all layouts with visual previews
FancyZonesCLI.exe ls
# Apply "columns" template to all monitors
FancyZonesCLI.exe s columns --all
# Set custom layout on monitor 2
FancyZonesCLI.exe s {uuid} --monitor 2
# Assign hotkey Win+Ctrl+Alt+3 to a layout
FancyZonesCLI.exe shk 3 {uuid}
安装 PowerToys
FancyZones 是面向进阶用户的 Microsoft PowerToys 工具集的一部分。这组工具可以调整和简化 Windows 使用体验,提高效率。安装方法见安装 PowerToys。











暂无评论内容