Omarchy 中的 Hyprland:窗口、配置与诊断
理解它与 UWSM、Quickshell、XWayland、桌面门户的关系,查看运行状态,并找到负责问题的配置层。
根据公开资料整理,未在实机验证。操作前请核对你的版本与硬件环境。
Hyprland 是 Wayland 合成器,管理应用界面、窗口布局、工作区、显示器与输入焦点。它是 Omarchy 的核心部分,但不是整个系统,也不负责每一个桌面服务。上游入门明确区分合成器与完整桌面环境,Omarchy 提供外围选择和集成。
分类下的组件全表见桌面与窗口层。本实体专题把职责连接到实际查看与配置决策。
应用如何成为可操作的窗口
章节:应用如何成为可操作的窗口登录入口 → UWSM 管理的会话环境 → Hyprland ← 应用界面(原生 Wayland,或经 XWayland 的 X11) → 显示输出、摆放与输入焦点 ↔ Quickshell 的面板/菜单及桌面状态 ↔ 桌面门户,连接屏幕共享等应用请求图示表达职责,不是所有安装完全相同的进程树。UWSM 负责会话生命周期和环境,Hyprland 负责窗口呈现,Quickshell 提供界面控件,门户协调应用能力,不安排平铺布局。
| 组件 | 负责 | 不能代替 |
|---|---|---|
| SDDM | 登录入口与启动选定会话 | 运行中的合成器 |
| UWSM | 会话、环境和用户服务协调 | 窗口布局规则 |
| Hyprland | 焦点、位置、工作区、显示和输入 | NetworkManager、媒体服务或包管理器 |
| Quickshell | 顶栏、菜单、面板与桌面服务 | 合成器 |
| XWayland | Wayland 会话中的 X11 兼容 | 原生 Wayland 应用路径 |
| 桌面门户 | 应用使用桌面能力的接口与协调 | 全部录屏或应用渲染本身 |
网络图标缺失可能只是 UI 故障,网络仍可用;菜单正常却连不上网,则可能是网络服务。窗口可操作但顶栏缺失,与登录后立即返回是不同层的问题。
先识别配置代际
章节:先识别配置代际Omarchy 和上游文档都在演进。活动会话里运行 hyprctl version,同时记录 Omarchy 发行版本。检查个人入口是 ~/.config/hypr/hyprland.lua 还是较早的 .conf。上游核心配置指南有版本选择,应匹配安装,不盲抄最新 Git 文档。
本页的 Omarchy 文件地图依据固定 Lua 快照,其入口文件加载 bootstrap、默认项、个人模块和开关:
hyprland.lua → bootstrap → default.hypr.omarchy(默认项与当前主题) → 个人 monitors / input / bindings / looknfeel / autostart → 动态开关 → 入口末尾的额外个人代码这解释已有结构,不是让你再粘一遍。个人项在默认项之后,但规则与绑定不普遍遵循“最后一行覆盖”;重复绑定可能增加动作,而不是移除原动作。
根据职责选择文件
章节:根据职责选择文件| 任务 | 固定布局的个人文件 | 深入指南 |
|---|---|---|
| 显示器排列与缩放 | monitors.lua |
显示器 |
| 布局、鼠标与键盘输入 | input.lua |
配置模型 |
| 新增或替换全局快捷键 | bindings.lua |
快捷键 |
| 间距、边框与动画 | looknfeel.lua |
窗口外观 |
| 登录启动应用 | autostart.lua |
自启动 |
| 匹配和摆放应用 | 相应个人规则配置 | 窗口规则 |
| 顶栏组件与菜单 | Omarchy Shell 配置 | 顶栏 |
系统 $OMARCHY_PATH/default/hypr/ 用来参考,持久改动放个人文件并保留原件。当前主题的生成输出不是持久窗口配置策略。
写规则之前先读实际状态
章节:写规则之前先读实际状态在正常的 Hyprland 会话内逐条查询:
hyprctl versionhyprctl monitorshyprctl clientshyprctl activewindowhyprctl workspaces上游 hyprctl 指南介绍控制接口。monitors 查看输出名称、模式与缩放;clients 看窗口;activewindow 缩小到焦点窗口;workspaces 看实际工作区。窗口标题会变化,应用 class 可能更适合作匹配依据,不能从启动器显示名猜标识。
例子:浏览器总打开在错误工作区。 打开真实浏览器、聚焦,查看报告的身份和工作区,再与规则目标比较。身份不同说明匹配错了;身份一致但稍后移动,则检查其他规则或启动动作。窗口规则指南提供版本明确的修改和撤销,本页的查看步骤帮助避免猜目标。
查询不是启动第二个合成器。在普通控制台或 SSH 中“无法连接”,可能只是缺少当前会话的 IPC 环境,不单独证明程序未安装。hyprctl clients 可能包含文档标题和私有路径,发布前删去无关部分。
根据阶段与界面分流
章节:根据阶段与界面分流| 观察 | 起点 |
|---|---|
| 没有登录界面 | 启动/登录服务;启动层与 SDDM |
| 登录立即返回 | 会话启动、配置错误或合成器失败 |
| 窗口正常,顶栏没有 | Quickshell 状态 |
| 某屏缩放错误 | 输出状态、连接与个人显示配置 |
| 一个键启动两项动作 | 重复绑定与截获 |
| 一个应用渲染异常 | Wayland/XWayland 路径和应用自身缩放 |
| 共享屏幕选择失败 | 门户与会话集成;捕获指南 |
记录最早失败和最后修改的文件。版本支持时用 hyprctl configerrors 查看配置错误;空结果不是显卡诊断。恢复保存的个人文件并重载,比重置全部桌面更容易定位。
学习和修改时保留会话
章节:学习和修改时保留会话先只读查看,再做一项小配置练习,然后进入任务指南。重载重新计算配置,注销则结束会话,可能关闭应用。不要为修菜单随手重启合成器。会话操作前保存工作,并保留桌面不能打开时恢复文件的方法。
向上游求助应包含两者版本、准确错误、受影响输出/应用和最小相关配置。Omarchy 默认项是环境的一部分;通用 Hyprland 教程不解释它们如何加载。这正是本专题与上游 Wiki 配合使用的价值。