33 个版本
| 0.0.34 | 2022 年 2 月 28 日 |
|---|---|
| 0.0.33 | 2021 年 11 月 22 日 |
| 0.0.31 | 2021 年 8 月 22 日 |
| 0.0.28 | 2021 年 7 月 30 日 |
| 0.0.13 | 2020 年 7 月 31 日 |
#797 在 GUI
83 每月下载量
用于 2 crates
66KB
1.5K SLoC
umberwm 🐏
基于 tinywm,受 qtile 启发,极简主义 X 窗口管理器。

使用 x11docker 的教程和演示
- 安装 x11docker
- 克隆此仓库
cdumbertutormake
设计目标和特性
- 极简:仅窗口管理(无任务栏、系统托盘等),复杂功能应使用其他程序完成(例如
rofi等) - 配置可以是代码(类似于
qtile、dwm、xmonad),也可以是 RON,或者两者都是。 - 默认为平铺布局(二进制空间划分)
- 支持工作空间
- 支持多显示器
先决条件
您需要带有 randr 扩展的 XCB 绑定。
Ubuntu: sudo apt install libxcb-randr0-dev。
使用(二进制)
- 安装 rust 和 cargo
cargo安装 umberwm- 运行一次
umberwm - 它将生成
~/.config/umberwm.ron(使用 RON 文件格式) - 根据需要修改 umberwm.ron(有关每个字段的详细信息,请参阅 src/main.rs)
- 下次运行
umberwm时,它将考虑您的配置
通过修改源代码使用
UmberWM 用 Rust 使用/配置,以下是使用方法
-
克隆此项目:
git clone https://github.com/yazgoo/umberwm- 注意:如果您不想修改源代码,您可以将
umberwm添加为依赖项到您自己的项目中。请参阅 将其作为依赖项使用。
- 注意:如果您不想修改源代码,您可以将
-
编辑
src/main.rs。 -
根据需要编辑
umberwm-start。在这里,您可以在启动umberwm之前启动所需的任何程序。 -
运行
cargo build --release。二进制文件将在target/release/umberwm中可用。 -
可选地,运行
./install.py。这将执行以下三件事- 将
target/release/umberwm链接到/usr/bin。 - 将
umberwm-start链接到/usr/bin。 - 将
umberwm.desktop复制到/usr/share/xsessions。这将允许显示管理器(如GDM)找到umberwm并允许您启动它。
- 将
-
如果您不使用显示管理器,您需要将以下内容添加到您的
.xinitrcexec umberwm-start
作为依赖项使用
如果您不想修改源代码,可以创建自己的 rust 项目并将 umberwm 添加为 cargo 依赖项。
Cargo.toml:
# ...
[dependencies]
umberwm = "0.0.21"
然后您可以提供自己的 main.rs 而不是编辑现有的一个。建议您使用此存储库中的 main.rs 作为您的起点。
查看示例
请注意,如果您想使用它们,您必须手动设置 umberwm-start 和 umberwm.desktop。
热重载
热重载允许在保持其状态(即跟踪窗口和它们的相关工作区)的同时重新启动 umberwm。当您想更新您的配置时,这非常有用。
在 wm_actions: 中,动作 Actions::SerializeAndQuit 将序列化其所有窗口,然后以退出代码 123 退出。 umberwm-start 脚本检查退出代码 123 并重新运行 umberwm,从而实现平稳的重启。
依赖项
~2.7–4MB
~78K SLoC