yambar-modules-river(5) File Formats Manual yambar-modules-river(5)

# [NAME](#NAME)

river - This module provides information about the river tags

# [DESCRIPTION](#DESCRIPTION)

This module uses river's (https://github.com/ifreund/river, a dynamic tiling Wayland compositor) status protocol to provide information about the river tags.

It has an interface similar to the i3/sway module.

The configuration for the river module specifies one *title* particle, which will be instantiated once for each seat, with tags representing the seats' name, the title of the seats' currently focused view, and its current river "mode".

It also specifies a *content* template particle, which is instantiated once for all 32 river tags. This means you probably want to use a **map** particle to hide unused river tags.

# [TAGS (for the content particle)](#TAGS_%28for_the_content_particle%29)

**Name** **Type** **Description** id int River tag number urgent bool True if the river tag has at least one urgent view. visible bool True if the river tag is focused by at least one output (i.e. visible on at least one monitor). focused bool True if the river tag is *visible* and has keyboard focus. occupied bool True if the river tag has views (i.e. windows). state string Set to **urgent** if *urgent* is true, **focused** if *focused* is true, **unfocused** if *visible* is true, but *focused* is false, or **invisible** if the river tag is not visible on any monitors.

# [TAGS (for the title particle)](#TAGS_%28for_the_title_particle%29)

**Name** **Type** **Description** seat string The name of the seat. title string The seat's focused view's title. mode string The seat's current mode (entered with e.g. **riverctl enter-mode foobar**). layout string Current layout of the output currently focused by the seat.

# [CONFIGURATION](#CONFIGURATION)

**Name** **Type** **Req** **Description** title particle no Particle that will be instantiated with the *seat* and *title* tags. content particle yes Template particle that will be instantiated once for all of the 32 river tags. all-monitors bool no When set to false (the default), tags reflect river tags and seats for the monitor yambar is on only. When set to true, tags reflect the union of all monitors.

# [EXAMPLES](#EXAMPLES)

```
bar:


  left:


    - river:


        title: {string: { text: "{seat} - {title} ({layout}/{mode})" }}


        content:


          map:


            conditions:


              ~occupied: {empty: {}}


              occupied:


                string:


                  margin: 5


                  text: "{id}: {state}"
```

# [SEE ALSO](#SEE_ALSO)

[**yambar-modules**(5)](/man/enterprise-packages/yambar/yambar-modules.5), [**yambar-particles**(5)](/man/enterprise-packages/yambar/yambar-particles.5), [**yambar-tags**(5)](/man/enterprise-packages/yambar/yambar-tags.5), [**yambar-decorations**(5)](/man/enterprise-packages/yambar/yambar-decorations.5)

2026-09-18

---

Document: yambar-modules-river(5) from yambar 1.11.0-r3 (Chainguard OS)
Source: https://codeberg.org/dnkl/yambar
