River 窗口管理器使用教程
riverA dynamic tiling Wayland compositor项目地址:https://gitcode.com/gh_mirrors/riv/river
项目介绍
River 是一个动态的平铺窗口管理器,专为 Wayland 合成器设计。它旨在提供灵活性和可定制性,同时保持简洁和高效。River 的设计哲学是让用户能够根据自己的需求定制窗口管理行为,而不是强制用户遵循预设的工作流程。
项目快速启动
安装
首先,确保你的系统已经安装了必要的构建工具和依赖项。然后,你可以通过以下命令从 GitHub 仓库克隆并编译 River:
git clone https://github.com/riverwm/river.git
cd river
meson build
ninja -C build
sudo ninja -C build install
启动
安装完成后,你可以通过以下命令启动 River:
river
基本配置
River 的配置文件通常位于 ~/.config/river/init
。以下是一个简单的配置示例:
#!/bin/sh
riverctl map normal Mod4 Return spawn alacritty
riverctl map normal Mod4 Q close
riverctl map normal Mod4 Space toggle-float
riverctl map normal Mod4 J focus-view next
riverctl map normal Mod4 K focus-view previous
riverctl map normal Mod4 H send-layout-cmd rivertile "main-ratio -0.05"
riverctl map normal Mod4 L send-layout-cmd rivertile "main-ratio +0.05"
riverctl default-layout rivertile
riverctl spawn "river-status-bar"
riverctl background-color 0x282828
riverctl border-color-focused 0xebdbb2
riverctl border-color-unfocused 0x504945
riverctl border-color-urgent 0xcc241d
riverctl border-width 2
riverctl focus-follows-cursor normal
riverctl xcursor-theme Adwaita
exec river
应用案例和最佳实践
自定义布局
River 允许用户通过自定义脚本来实现复杂的窗口布局。例如,你可以编写一个脚本来根据不同的应用自动调整窗口布局。
集成状态栏
River 可以与各种状态栏工具集成,如 waybar
或 yambar
。以下是一个简单的 waybar
配置示例:
{
"modules-left": ["sway/workspaces", "sway/mode"],
"modules-center": ["sway/window"],
"modules-right": ["pulseaudio", "network", "battery", "clock"],
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": ""
}
}
}
典型生态项目
合成器
- Sway: 一个兼容 i3 的 Wayland 合成器,可以与 River 无缝集成。
- wlroots: 一个灵活的 Wayland 合成器库,River 基于此库构建。
状态栏
- Waybar: 一个高度可定制的 Wayland 状态栏。
- Yambar: 另一个轻量级的 Wayland 状态栏工具。
终端模拟器
- Alacritty: 一个高性能的 GPU 加速终端模拟器。
- Foot: 一个轻量级且快速的 Wayland 终端模拟器。
通过这些工具和项目的组合,你可以构建一个高效且个性化的 Wayland 桌面环境。
riverA dynamic tiling Wayland compositor项目地址:https://gitcode.com/gh_mirrors/riv/river