FancyZones:创建自定义窗口布局

FancyZones:创建自定义窗口布局

FancyZones 是 PowerToys 中的窗口管理工具,可将窗口排列、贴靠到自定义布局,提高工作效率。你可以在桌面上定义特定区域,作为窗口的放置目标;将窗口拖入区域或使用键盘快捷键后,工具会自动调整其大小和位置。

用鼠标贴靠到单个区域

拖动窗口。默认情况下还需要按住 Shift,此时会显示区域;鼠标悬停到某个区域上时,该区域会高亮。

如果启用了“使用非主鼠标键切换区域激活”,也可以用非主鼠标键进入区域选择模式。

如果同时关闭“拖动时按住 Shift 激活区域”和“使用非主鼠标键切换区域激活”,开始拖动窗口后就会立即显示区域。

拖动窗口时高亮显示桌面区域
拖动窗口时高亮显示桌面区域(Microsoft 原图)

用键盘贴靠到单个区域

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

使用键盘进行区域贴靠的设置
使用键盘进行区域贴靠的设置(Microsoft 原图)

贴靠到多个区域

可通过以下方式让一个窗口占据多个区域。

悬停在边界以贴靠两个区域

若两个区域相邻,可让窗口覆盖它们的合并范围,并扩展为包含二者的最小矩形。鼠标靠近共同边界时,两个区域会同时激活,此时放下窗口即可。

用鼠标和键盘选择多个区域

拖动窗口直到一个区域激活,再按住 Ctrl 继续拖动,选择多个区域。

同时激活两个区域
同时激活两个区域(Microsoft 原图)

仅用键盘贴靠多个区域

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

键盘跨多个区域贴靠的设置
键盘跨多个区域贴靠的设置(Microsoft 原图)

切换窗口

当同一区域内贴靠了两个或更多窗口时,使用 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 设置中修改此快捷键。

FancyZones 设置界面
FancyZones 设置界面(Microsoft 原图)

布局编辑器:选择布局

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

多显示器布局选择器
多显示器布局选择器(Microsoft 原图)

区域周围的间距

“显示区域周围的间距”决定各 FancyZone 窗口周围的边距。“区域周围的间距”可输入自定义宽度。编辑器打开时,修改数值后切换“显示区域周围的间距”,即可看到新值生效。

“高亮相邻区域的距离”设置触发相邻区域同时高亮的距离阈值,让它们能够合并为共同的贴靠目标。

“横向显示器的默认布局”和“纵向显示器的默认布局”决定系统显示配置变化时采用的默认布局,例如添加新显示器时。

区域间距设置
区域间距设置(Microsoft 原图)

创建自定义布局

选择底部“创建新布局”。自定义布局有两种样式:网格(Grid)和画布(Canvas)。

网格模式从三列开始,通过拆分、合并区域和移动区域间分隔线创建布局。它是相对布局,会随屏幕尺寸调整,可以用鼠标或键盘编辑。

鼠标操作

  • 拆分区域:单击鼠标;按住 Shift 可旋转分隔线方向。
  • 移动分隔线:单击拖动手柄并拖动,或先聚焦布局,再选择手柄。
  • 合并或删除区域:选中一个区域,按住鼠标左键并拖动,直到选中多个区域;松开后在弹出菜单中选“合并”。删除区域就是将它合并到另一区域中。

键盘操作

  • 先按 Ctrl + Tab 聚焦布局,再用 Tab 在各区域和分隔线之间切换焦点。
  • 拆分区域:聚焦目标区域,按 S 或 Shift + S。
  • 移动分隔线:聚焦分隔线后使用方向键。
  • 合并或删除区域:聚焦区域之间的分隔线后按 Delete;该分隔线相邻的区域会合并。
网格布局编辑器
网格布局编辑器(Microsoft 原图)

画布模式从一个区域开始,可增加、移动和调整区域大小,操作方式类似窗口。画布中的区域可以重叠。

画布也支持键盘编辑:方向键每次移动 10 像素,Ctrl + 方向键每次移动 1 像素;Shift + 方向键每次调整大小 10 像素(每边 5 像素),Ctrl + Shift + 方向键每次调整大小 2 像素(每边 1 像素)。Ctrl + Tab 可在编辑器和对话框之间切换。

画布布局编辑器
画布布局编辑器(Microsoft 原图)

快速切换自定义布局

在自定义布局的编辑对话框中,可以分配用户定义的热键,将布局快速应用到活动屏幕。配置完成后,按 Win + Ctrl + Alt + 数字即可应用。拖动窗口时,也可以按该布局热键来应用。

下面的原始演示从默认模板和两个已分配热键的自定义布局开始。先用 Win + Ctrl + Alt + 数字应用第一个布局并贴靠窗口,再在拖动窗口时应用第二个布局并完成贴靠。

快速切换布局的原始动画演示
快速切换布局的原始动画演示(Microsoft 原图)

设置

设置 说明
激活快捷键 单击控件并输入所需按键组合,修改默认快捷键。
编辑器打开的显示器 选择编辑器显示在哪个屏幕。
拖动时按住 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 设置页面下半部分
FancyZones 设置页面下半部分(Microsoft 原图)

命令行参考

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。

来源:Microsoft 及文档贡献者,FancyZones。本文依据官方英文源文档完整汉化并核正快捷键,截图和动画沿用原图,示例命令未在本次工作中执行。文档使用 CC BY 4.0 许可。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容