yambar-modules-river(5)
π NAME π
yambar-modules-river(5) says hi from the File Formats Manual, bestie! π
river β This module provides information about the river tags.
π¦ DESCRIPTION π¦
Okay so this module uses river's status protocol to provide information about the river tags. River is https://github.com/ifreund/river, a dynamic tiling Wayland compositor β iconic, honestly. π«Ά
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. No cap, that's the move. π
πΈ TAGS (for the content particle) πΈ
Here's every tag you get in the content particle, bestie β all facts, zero missing pieces:
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 tourgentifurgentis true,focusediffocusedis true,unfocusedifvisibleis true, butfocusedis false, orinvisibleif the river tag is not visible on any monitors.
π TAGS (for the title particle) π
And these are the tags for the title particle β literally the seat-and-title vibe check:
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 π§
This is the config checklist, bestie β title is optional, content is required, and all-monitors has a default you should know about:
title(particle, req: no) β Particle that will be instantiated with the seat and title tags.content(particle, req: yes) β Template particle that will be instantiated once for all of the 32 river tags.all-monitors(bool, req: no) β When set tofalse(the default), tags reflect river tags and seats for the monitor yambar is on only. When set totrue, tags reflect the union of all monitors.
Important vibe check:contentis required, andall-monitorsdefaults tofalse. Don't forget it! π«Ά
β¨ EXAMPLES β¨
This example is literally the config from the page β copy it exactly, no improvising:
bar:
left:
- river:
title: {string: { text: "{seat} - {title} ({layout}/{mode})" }}
content:
map:
conditions:
~occupied: {empty: {}}
occupied:
string:
margin: 5
text: "{id}: {state}"
π SEE ALSO π
Go read these next, bestie β they're giving essential lore:
xoxo, your Unix bestie π β this was yambar-modules-river(5) from the File Formats Manual, dated 2024-04-22. Mwah! π
π¦ where this page comes from
- opensuse-leap 16.0: yambar 1.11.0-bp160.1.14 Β· MIT
- opensuse-leap 16.0: yambar 1.11.0-bp160.1.14 Β· MIT
- opensuse-leap 16.0: yambar 1.11.0-bp160.1.14 Β· MIT
- opensuse-leap 16.0: yambar 1.11.0-bp160.1.14 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms