GlazeWM窗口规则高级配置手册:从入门到精通

2026年4月28日

GlazeWM的窗口规则系统是其最强大的功能之一,允许你根据窗口的进程名、类名、标题等属性,为特定应用定制行为。掌握窗口规则,能让那些"不听话"的应用完美融入你的平铺工作流。

窗口规则基础结构

窗口规则定义在config.yaml的window_rules节点下,每条规则包含匹配条件(match)和执行命令(commands)。匹配支持精确匹配(equals)、正则匹配(regex)和包含匹配(contains)三种模式,可以针对window_processwindow_classwindow_title进行筛选。

常见应用场景与配置示例

场景一:系统对话框与弹窗

Windows系统对话框、UAC提示、保存/打开文件对话框等不应被平铺。这些窗口通常具有特定的窗口类名,可以通过窗口规则强制设为浮动:

window_rules:
  - commands: ["ignore"]
    match:
      - window_title: [contains: "保存"]
      - window_class: [equals: "#32770"]

场景二:PowerToys工具集

PowerToys的Command Palette、Color Picker等工具需要以浮动模态框形式出现。为这些工具添加忽略规则,避免它们被强制平铺导致界面异常。

场景三:媒体播放器与游戏

视频播放器(如MPV、VLC)和全屏游戏通常需要特殊处理。可以设置规则使其默认进入全屏模式,或在特定工作区打开。对于需要固定尺寸的游戏窗口,结合浮动模式和尺寸命令实现最佳效果。

场景四:开发工具弹窗

VS Code的命令面板、JetBrains的Search Everywhere等IDE内部弹窗如果被平铺会严重影响使用。通过匹配窗口标题中的关键词或特定类名,将这些弹窗排除在平铺管理之外。这是GlazeWM开发者用户必须掌握的技巧。

获取窗口属性的实用工具

编写精确的窗口规则需要知道目标窗口的准确属性。推荐使用WinSpy++或类似工具,将鼠标悬停在目标窗口上即可查看其进程名、类名和标题。记录这些属性后,在配置文件中构建对应的匹配规则。

规则优先级与冲突处理

当多个规则可能匹配同一窗口时,GlazeWM按配置文件中规则的先后顺序执行。将更具体的规则放在前面,通用规则放在后面。例如,先匹配"VS Code命令面板"的特定标题,再匹配"所有VS Code窗口"的进程名。

动态规则调试技巧

配置窗口规则时,建议开启GlazeWM的日志功能,观察窗口匹配和命令执行的过程。通过实时日志,你可以快速定位规则为何不生效,或某个窗口为何被错误处理。修改规则后使用配置重载命令(无需重启GlazeWM)即可生效,大幅缩短调试周期。

社区共享规则库

许多用户将自己的窗口规则配置分享到GitHub Gist或社区论坛。在构建自己的规则集之前,浏览社区资源可以节省大量时间。常见的"问题应用"(如Paint.NET、某些国产软件)通常已有成熟的解决方案可供参考。