使用 GlazeWM + Yasb 定制 Windows 窗口管理器
:::info[Changelog] 11.25:更换 YASB 的 GitHub 链接 :::
本文将介绍如何通过 GlazeWM 和 YASB 这两款工具,将 Windows 系统打造成一个高效、美观的平铺式桌面环境。
1. 工具概述
1.1 GlazeWM:Windows 平铺窗口管理器
GlazeWM 是一款专为 Windows 设计的平铺式窗口管理器,灵感来源于 Linux 用户熟悉的 i3wm。它通过键盘命令帮助用户高效组织窗口布局,自动排列窗口以充分利用屏幕空间。使用 Rust 语言开发,GlazeWM 在性能和内存管理方面表现出色。
1.2 YASB:现代化状态栏工具
YASB(Yet Another Status Bar)是一款面向 Windows 平台的轻量级桌面状态栏工具。它采用模块化设计,允许用户自由组合各种系统监控组件,如 CPU/内存使用率、网络状态和音频控制等。
2. 下载与安装
2.1 GlazeWM 安装
通过 Winget 安装(推荐):
winget install GlazeWM
手动安装:
- 访问 GlazeWM 的 GitHub 发布页面
- 下载最新版本的安装程序
- 运行安装程序,可选择是否同时安装 Zebar 状态栏
2.2 YASB 安装
YASB 可通过其 GitHub 仓库下载最新版本。
3. 配置指南
3.1 安装 YASB 主题(使用主题浏览器)
YASB 提供了便捷的主题浏览器功能,可以快速安装和管理主题:
使用主题浏览器安装主题:
- 打开 YASB 配置界面
- 导航到 "主题" 选项卡
- 点击 "主题浏览器" 按钮
- 浏览可用主题列表,选择喜欢的主题
- 点击 "安装" 按钮,主题将自动下载并应用
手动安装主题:
# 在 YASB 配置文件中手动添加主题
+ styles:
+ theme: "dracula"
+ background: "#282a36"
+ foreground: "#f8f8f2"
+ primary: "#bd93f9"
+ secondary: "#6272a4"
创建自定义主题:
# 创建自定义主题配置文件
+ # ~/.config/yasb/themes/custom-theme.yaml
+ name: "Custom Theme"
+ author: "Your Name"
+ version: "1.0.0"
+
+ variables:
+ background: "#1a1b26"
+ foreground: "#c0caf5"
+ primary: "#7aa2f7"
+ warning: "#e0af68"
+ error: "#f7768e"
+
+ styles:
+ status-bar:
+ background: "${background}"
+ color: "${foreground}"
+ border-color: "${primary}"
3.2 GlazeWM 基础配置
首次启动 GlazeWM 时,系统会询问是否生成默认配置文件。配置文件位于 %userprofile%\.glzr\glazewm\config.yaml。
基本结构:
+ general:
+ startup_commands: []
+ focus_follows_cursor: false
+
+ keybindings:
+ - commands: ["focus --workspace 1"]
+ bindings: ["alt+1"]
+ - commands: ["move --workspace 1", "focus --workspace 1"]
+ bindings: ["alt+shift+1"]
+
+ workspaces:
+ - name: "1"
+ display_name: "工作"
+ bind_to_monitor: 0
3.3 YASB 配置与 GlazeWM 集成
YASB 1.5.6 版本新增了对 GlazeWM 的原生支持,能够实时显示 GlazeWM 的工作区状态。
专用组件配置: 在 YASB 配置中启用 GlazeWM 组件:
+ components:
+ - type: glazewm-workspaces
+ active_empty_label: "○"
+ active_populated_label: "●"
+ - type: glazewm-binding-mode
3.4 窗口规则配置
为特定应用设置自动行为:
+ window_rules:
+ - command: "set-floating"
+ match:
+ - window_process: { equals: "notepad.exe" }
+ - command: "move --workspace 2"
+ match:
+ - window_process: { equals: "chrome.exe" }
4. 主题与美化
4.1 字体配置
中文字体美化建议:
· 中文推荐:使用思源黑体或霞鹜文楷等开源中文字体 · 英文推荐:使用 Fira Code 或 Cascadia Code 等编程字体 · 大小设置在 12-14pt 之间,保证状态栏清晰可读
在 YASB 配置中指定字体:
+ styles:
+ font_family: "LXGW WenKai, Fira Code"
+ font_size: "13px"
4.2 图标字体
推荐使用以下图标字体:
- Nerd Fonts:集成了多种流行图标库
- Font Awesome:提供丰富的矢量图标
- Material Design Icons:Google 推出的图标库
安装后,在 YASB 配置中使用:
+ components:
+ - type: cpu
+ icon: ""
+ format: "{icon} {usage}%"
4.3 颜色主题
GlazeWM 窗口效果配置(仅限 Windows 11):
+ window_effects:
+ focused_window:
+ border:
+ enabled: true
+ color: "#0000ff"
+ other_windows:
+ border:
+ enabled: false
+ color: "#d3d3d3"
YASB 颜色主题:
+ /* 在 YASB 的 CSS 样式文件中 */
+ .status-bar {
+ background-color: #2b2b2b;
+ color: #ffffff;
+ border-color: #3b3b3b;
+ }
+
+ .workspace-active {
+ background-color: #4a5a94;
+ color: #ffffff;
+ }
5. 高级集成与优化
5.1 与 Nexus 等 Dock 工具搭配
虽然 GlazeWM 和 YASB 提供了大部分桌面功能,但可以与 Nexus 等 Dock 工具搭配使用:
· 功能分工:GlazeWM 负责窗口管理,YASB 负责系统状态显示,Nexus 负责快速启动 · 位置协调:将 Nexus 设置为自动隐藏,避免与 YASB 状态栏冲突 · 主题统一:调整各工具颜色方案,形成一致的视觉效果
5.2 性能优化
YASB v1.7.2 版本进行了多项性能优化:
· 重构 CLI 初始化流程,移除不必要的操作 · 将 requests 库替换为更轻量的 urllib · 优化环境变量加载的日志记录机制 · 实现数据抓取器的运行状态检查,避免重复初始化
5.3 多显示器配置
+ workspaces:
+ - name: "1"
+ display_name: "主工作区"
+ bind_to_monitor: 0
+ - name: "2"
+ display_name: "副工作区"
+ bind_to_monitor: 1
6. 常见问题解答
6.1 安装问题
Q:安装后 GlazeWM 无法启动? A:确保系统为 Windows 10 或更高版本,并尝试以管理员权限运行。
Q:如何更改 GlazeWM 配置文件路径? A:可以通过命令行参数指定:
./glazewm.exe --config="C:\路径\至\您的\配置文件\config.yaml"
或设置环境变量:
setx GLAZEWM_CONFIG_PATH "C:\路径\至\您的\配置文件\config.yaml"
6.2 使用问题
Q:如何暂时禁用 GlazeWM 快捷键? A:默认配置中,按 alt+shift+p 可以暂停 GlazeWM,再次按下恢复。
Q:拖拽窗口时出现闪烁现象? A:这是已知问题,已在最新版本中通过增量式位置更新和双缓冲绘制技术解决。确保使用最新版本,并更新显卡驱动。
Q:如何为特定应用程序创建规则? A:需要知道应用程序的进程名,可通过任务管理器获取:
+ window_rules:
+ - command: "set-floating"
+ match:
+ - window_process: { equals: "notepad.exe" }
6.3 自定义问题
Q:如何调整窗口之间的间距? A:在 GlazeWM 配置中修改 gaps 设置:
+ gaps:
+ inner_gap: "20px"
+ outer_gap:
+ top: "20px"
+ right: "20px"
+ bottom: "20px"
+ left: "20px"
Q:YASB 状态栏不显示 GlazeWM 工作区信息? A:确保在 YASB 配置中启用了 GlazeWM 工作区组件,并且两者版本兼容。
7 快捷键
GlazeWM 默认快捷键:
alt+1-9 切换到对应工作区 alt+shift+1-9 移动窗口到对应工作区 alt+enter 打开新终端 alt+h/j/k/l 在窗口间移动焦点 alt+shift+space 切换平铺/浮动模式
8. 总结
GlazeWM 与 YASB 组合为 Windows 用户提供了类似 Linux 平铺窗口管理器的高效体验。通过键盘驱动的操作方式、可定制的布局和实时系统状态显示,这一解决方案能够显著提升工作效率和桌面整洁度。