river
River 是一款动态平铺的 Wayland 合成器,具有灵活的运行时配置。
从软件包管理器安装 - 在 irc.libera.chat 上的 #river 加入我们 - 阅读我们的手册和 wiki
注意:river 目前处于早期开发阶段。请注意,river 目前仍处于开发初期,可能会出现破坏性改动和功能缺失。不过,目前还很少出现 Bug,如果你遇到了 Bug,请随时提交问题。
设计目标
- - 行为简单、可预测,河流应易于使用,认知负荷低。
- - 基于视图和标签堆栈的窗口管理。
- - 动态布局由用户编写的外部可执行文件生成。提供默认的 rivertile 布局生成器。
- - 通过自定义 Wayland 协议和独立的 riverctl 二进制实现脚本配置和控制。
构建
克隆版本库时,还必须启动和更新子模块,例如
git submodule update --init
要编译 river,首先要确保安装了以下依赖项。如果适用于您的发行版,则需要 "开发 "版本。
- zig 0.11
- wayland
- wayland-protocols
- wlroots 0.17.1
- xkbcommon
- libevdev
- pixman
- pkg-config
- scdoc (optional, but required for man page generation)
运行
zig build -Doptimize=ReleaseSafe --prefix ~/.local install
要启用实验性 Xwayland 支持,还需通过 -Dxwayland 选项。
如果要打包发布 river,请参阅 PACKAGING.md 。
用法
River 可以嵌套在 X11/Wayland 会话中运行,也可以使用 KMS/DRM 直接从 tty 运行。只需运行 river 命令即可。
启动时,如果 $XDG_CONFIG_HOME/river/init 中存在可执行文件,River 将运行该文件。如果没有设置 $XDG_CONFIG_HOME,则会使用 ~/.config/river/init 代替。
通常,这个可执行文件是一个调用 riverctl (1) 的 shell 脚本,用于创建映射、启动布局生成器或状态栏等程序,以及执行其他配置。
这里的示例目录中提供了一个具有合理默认值的启动脚本示例。
完整文档请参见 river(1) 、riverctl(1) 和 rivertile(1) 的手册。