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
- 克隆此仓库
cdumbertutor
make
设计目标和特性
- 极简:仅窗口管理(无任务栏、系统托盘等),复杂功能应使用其他程序完成(例如
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
并允许您启动它。
- 将
-
如果您不使用显示管理器,您需要将以下内容添加到您的
.xinitrc
exec 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