Skip to content

MeesuMaes/glazewm

 
 

Repository files navigation

V3 版本现已发布 - 点击此处查看更新日志 🔥


GlazeWM 徽标

GlazeWM

一款受 i3wm 启发的 Windows 平铺式窗口管理器

[![Discord 邀请][discord-badge]][discord-link] [![下载量][downloads-badge]][downloads-link] [![新手友好问题][issues-badge]][issues-link]

通过键盘驱动命令,GlazeWM 让您轻松组织窗口并实时调整布局。

安装指南默认快捷键配置文档常见问题参与贡献 ↗

![演示视频][demo-video]

🌟 核心特性

  • 简洁的 YAML 配置
  • 多显示器支持
  • 可定制特定窗口规则
  • 一键式简易安装
  • 与状态栏工具 Zebar 集成

安装指南

最新版本可通过发布页面下载。安装过程中可选是否同时安装 Zebar。

GlazeWM 也支持以下包管理器安装:

Winget

winget install GlazeWM

Chocolatey

choco install glazewm

Scoop

scoop bucket add extras
scoop install extras/glazewm

参与贡献

欢迎修复您遇到的问题,或添加期待已久的功能!我们非常重视各类贡献。

本地开发指南详见贡献指南

默认快捷键

首次启动 GlazeWM 时,可选择生成默认配置。

下方速查表列出了所有可用命令及其默认快捷键:

快捷键图示

配置文档

默认配置文件生成于 %userprofile%\.glzr\glazewm\config.yaml

如需使用其他路径的配置文件,可通过 CLI 参数启动:

./glazewm.exe start --config="C:\<配置路径>\config.yaml"

或设置环境变量:

setx GLAZEWM_CONFIG_PATH "C:\<配置路径>\config.yaml"

使用自定义路径的优势在于可自由命名配置文件,例如 glazewm.yaml

配置:常规项

general:
  # WM启动时运行的命令(如执行脚本或启动其他应用)
  startup_commands: []

  # WM关闭前运行的命令
  shutdown_commands: []

  # 配置重载后运行的命令
  config_reload_commands: []

  # 是否自动聚焦光标下的窗口
  focus_follows_cursor: false

  # 聚焦当前工作区时是否切换回之前聚焦的工作区
  toggle_workspace_on_refocus: false

  cursor_jump:
    # 是否在指定条件下自动移动光标
    enabled: true

    # 光标跳转触发条件:
    # - 'monitor_focus': 显示器间焦点变化时跳转
    # - 'window_focus': 窗口间焦点变化时跳转
    trigger: "monitor_focus"

配置:快捷键

通过 keybindings 选项可自定义键盘快捷键。每个快捷键由组合键和触发命令组成。

建议使用 Alt 键作为修饰键。由于系统保留部分快捷键(如 lwin+l),Windows 键较难重映射。

快捷键配置:
  # 要执行的命令
  - commands: ["focus --workspace 1"]
    # 触发组合键
    bindings: ["alt+1"]

  # 可顺序执行多个命令
  - commands: ["move --workspace 1", "focus --workspace 1"]
    bindings: ["alt+shift+1"]

支持的按键完整列表:

按键列表
按键 说明
a - z 字母键
0 - 9 数字键
numpad0 - numpad9 小键盘数字键
f1 - f24 功能键
shift 左右Shift键
lshift 左Shift键
rshift 右Shift键
control 左右Ctrl键
lctrl 左Ctrl键
rctrl 右Ctrl键
alt 左右Alt键
lalt 左Alt键
ralt 右Alt键
lwin 左Windows键
rwin 右Windows键
space 空格键
escape Esc键
back 退格键
tab Tab键
enter 回车键
left 左方向键
right 右方向键
up 上方向键
down 下方向键
num_lock 数字锁定键
scroll_lock 滚动锁定键
caps_lock 大写锁定键
page_up Page Up键
page_down Page Down键
insert Insert键
delete Delete键
end End键
home Home键
print_screen 打印屏幕键
multiply 小键盘*键
add 小键盘+键
subtract 小键盘-键
decimal 小键盘Del键
divide 小键盘/键
volume_up 音量增加键
volume_down 音量减小键
volume_mute 静音键
media_next_track 下一曲键
media_prev_track 上一曲键
media_stop 停止键
media_play_pause 播放/暂停键
oem_semicolon 美式键盘;/:键
oem_question 美式键盘/?键
oem_tilde 美式键盘`/~键
oem_open_brackets 美式键盘[/{键
oem_pipe 美式键盘|键
oem_close_brackets 美式键盘]/}键
oem_quotes 美式键盘'/"键
oem_plus 美式键盘=/+键
oem_comma 美式键盘,/<键
oem_minus 美式键盘-/_键
oem_period 美式键盘./>键

如果按键不在上表中,仍可能通过字符形式支持(例如挪威语Å字符可用alt+å)。

注意:德语和美式国际键盘对右侧Alt键处理不同,需使用ralt+ctrl替代ralt

配置:窗口间距

gaps:
  # 窗口间间距
  inner_gap: "20px"
  
  # 窗口与屏幕边缘间距
  outer_gap:
    top: "20px"
    right: "20px"
    bottom: "20px"
    left: "20px"

配置:工作区

workspaces:
  # 工作区唯一标识(用于快捷键和第三方应用显示)
  - name: "1"
    # 可选显示名称
    display_name: "工作"
    # 绑定到指定显示器(0为最左侧)
    bind_to_monitor: 0
    # 防止空工作区自动关闭
    keep_alive: false

配置:窗口规则

window_rules:
  # 将浏览器移至工作区1
  - commands: ["move --workspace 1"]
    match:
      - window_process: { regex: "msedge|brave|chrome" }

  # 忽略特定窗口
  - commands: ["ignore"]
    match:
      # 忽略Zebar窗口
      - window_process: { equals: "zebar" }
      # 忽略浏览器画中画窗口(需同时匹配标题和类名)
      - window_title: { regex: "[Pp]icture.in.[Pp]icture" }
        window_class: { regex: "Chrome_WidgetWin_1|MozillaDialogClass" }

配置:窗口特效

注意:窗口特效仅限Windows 11

窗口特效:
  # 聚焦窗口的特效设置
  focused_window:
    # 启用彩色边框高亮
    border:
      enabled: true
      color: "#0000ff"  # 蓝色边框

  # 非聚焦窗口的特效设置  
  other_windows:
    border:
      enabled: false    # 默认不显示边框
      color: "#d3d3d3"  # 浅灰色

窗口行为:
  # 新窗口默认状态(平铺/浮动)
  initial_state: "tiling"
  
  # 各状态的默认参数
  state_defaults:
    floating:
      centered: true     # 浮动窗口自动居中
      shown_on_top: false # 不默认置顶
    fullscreen:
      maximized: false    # 优先使用传统全屏模式

绑定模式:
  # 窗口调整模式(通过方向键或HJKL调整大小)
  - name: "resize"
    keybindings:
      - commands: ["resize --width -2%"]  # 宽度减少2%
        bindings: ["h", "left"]           # 左方向键或H键
      - commands: ["resize --width +2%"]  # 宽度增加2%
        bindings: ["l", "right"]          # 右方向键或L键
      - commands: ["resize --height +2%"] # 高度增加2%
        bindings: ["k", "up"]            # 上方向键或K键
      - commands: ["resize --height -2%"] # 高度减少2%
        bindings: ["j", "down"]           # 下方向键或J键
      # 按ESC/回车退出调整模式
      - commands: ["wm-disable-binding-mode --name resize"]
        bindings: ["escape", "enter"]

常见问题

问:如何设置开机自启? 右键点击GlazeWM可执行文件 → 创建快捷方式 → 将快捷方式放入启动文件夹(在文件资源管理器地址栏输入shell:startup可快速访问)

问:如何创建特定布局? 使用alt+v切换平铺方向:

  • 水平方向:新窗口出现在右侧
  • 垂直方向:新窗口出现在下方

也可使用社区脚本实现自动布局:

问:如何为特定应用创建规则?

window_rules:
  - commands: ["set-floating"]  # 设为浮动窗口
    match:
      - window_process: { equals: "Flow.Launcher" }  # 进程名
        window_title: { equals: "Settings" }         # 窗口标题

问:如何临时禁用快捷键? 使用默认快捷键alt+shift+p可切换全局快捷键状态

About

GlazeWM is a tiling window manager for Windows inspired by i3wm.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.1%
  • PowerShell 0.9%