River - ArchWiki

Jump to content

# River

From ArchWiki

Related articles

- river-classic
- Wayland#Compositors

According to River's homepage:

  River is a non-monolithic Wayland compositor. Unlike other Wayland compositors, river does not combine the compositor and window manager into one program. Instead, users can choose any window manager implementing the river-window-management-v1 protocol.

The stated goals for River is to make getting into Wayland development easier and to allow its "window managers" to be more experimental as they do not need to write a whole compositor. This also allows for things not normally possible with Wayland Compositors such as reloading configurations without closing all windows.

Note This page is about the non-monolithic version of River, if you are looking for the dynamic tiling version, look at river-classic.

## Installation

River is installed with the river package.

A separate window manager will need to be installed as well. See also River's wiki for a more comprehensive list of window managers.

### Stacking

- Canoe — Stacking window manager with classic look and feel written in Rust.

  https://github.com/roblillack/canoe || canoeAUR

### Tiling

- Kwm — Window manager inspired by dwm with its built in bar.

  https://github.com/kewuaa/kwm || kwmAUR

### Other

- Rill — A minimalist scrolling window manager with simple animation.

  https://codeberg.org/lzj15/rill || rillAUR

## Starting

River can be started by a display manager or with the command below.

    $ river

River can be started with select window manager with the "c" argument.

    $ river -c foo

## Configuration

River is configured through a executable shell file, by default it is located in `$XDG_CONFIG_HOME/river/init`. By default this is `~/.config/river/init`.

River can use a different configuration if it is called with the "c" argument.

    $ river -c customConfPath

### Selecting a default window manager

A window manager can be made the default by appending it to River's configuration file.

### Autostart

Since the configuration is executed by the bourne shell, commands placed inside the configuration will be executed on start up: certain window managers also allow for autostarting in their configurations.

### Input configuration

Input configuration can be done in multiple ways. Some window managers support input configuration.

There are separate input managers such as Channel and kwimAUR that can be used.

If only the keyboard layout needs to be changed. Change the environment variable `XKB_DEFAULT_LAYOUT` to the needed layout; example "gb" for UK keyboards.

## Troubleshooting

### Configuration file does nothing

This may be caused by the configuration file lacking execution permissions. See File permissions and attributes.

### Screencast via WebRTC does not work

See river-classic#Troubleshooting.

## See also

- River protocols specifications
- Example window manager
- River wiki
- Official Codeberg repository

Category:

- Wayland compositors

River
Add topic