Files
Waybar/man/waybar-river-layout.5.scd
T
AlexandClaude Opus 4.8 72fdf77c19 docs: align man pages with code + fill documentation gaps (0.16.0 audit)
A full man<->code consistency audit surfaced options, format placeholders
and CSS classes that were implemented but undocumented, documented but not
implemented (some causing fmt crashes when copied from examples), and
defaults that disagreed with the code. This aligns the docs with the code
and fixes a few genuine code gaps.

Docs:
- Add the missing waybar-user(5) man page (and register it in meson.build)
- Document previously-undocumented options/placeholders/CSS across many
  modules (custom image-path/image-name/icon-size, graph_type/width/
  datapoints; battery smooth-power; wireplumber format-source/only-physical;
  mpris {position}/prefer-album-artist; network {signalStrengthApp}/compact
  bandwidth; pulseaudio {source_volume}/{source_desc}; upower {temperature}/
  {model}/{native-path}; wwan {power_state}/{imei}; tray ignore-list; and
  many CSS state classes: .sink-muted, .source-muted, .workspace-hover, etc.)
- Correct documented defaults to match the code (hyprland format {name},
  gamemode {count}, cpu-graph interval 5, cava input_delay 4, niri taskbar
  icon-size 16, disk/gps/wayfire formats, menu-actions object type, ...)
- Remove placeholders/options that do not apply (custom-graph {icon}/format/
  format-icons/rotate) and fix crashing examples (wwan {mode}, gps
  format-no-fix); note cava background/foreground/continuous_rendering are
  cava-config-file options

Code:
- bluetooth: accept the documented `controller` key as a synonym of
  `controller-alias` (the option was silently ignored)
- mango/workspaces: supply the documented `{name}` fmt arg (was missing ->
  fmt::format threw)
- privacy: read `tooltip` as a bool (was guarded on isString(), so the
  documented `tooltip: false` was silently ignored)

All man pages validated with scdoc 1.11.4. Not compiled locally (no gtkmm);
C++ build relies on CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 02:39:38 +02:00

118 lines
2.5 KiB
Scdoc

waybar-river-layout(5)
# NAME
waybar - river layout module
# DESCRIPTION
The *layout* module displays the current layout in river.
It may not be set until a layout is first applied.
# CONFIGURATION
Addressed by *river/layout*
*format*: ++
typeof: string ++
default: {} ++
The format, how information should be displayed. On {} data gets inserted.
*format-icons*: ++
typeof: array ++
Based on the current layout, the corresponding icon gets selected.
*rotate*: ++
typeof: integer ++
Positive value to rotate the text label (in 90 degree increments).
*max-length*: ++
typeof: integer ++
The maximum length in character the module should display.
*min-length*: ++
typeof: integer ++
The minimum length in characters the module should accept.
*align*: ++
typeof: float ++
The alignment of the label within the module, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text.
*justify*: ++
typeof: string ++
The alignment of the text within the module's label, allowing options 'left', 'right', or 'center' to define the positioning.
*on-click*: ++
typeof: string ++
Command to execute when clicked on the module.
*on-click-middle*: ++
typeof: string ++
Command to execute when middle-clicked on the module using mousewheel.
*on-click-right*: ++
typeof: string ++
Command to execute when you right-click on the module.
*menu*: ++
typeof: string ++
Action that popups the menu.
*menu-file*: ++
typeof: string ++
Location of the menu descriptor file. There need to be an element of type
GtkMenu with id *menu*
*menu-actions*: ++
typeof: array ++
The actions corresponding to the buttons of the menu.
*expand*: ++
typeof: bool ++
default: false ++
Enables this module to consume all left over space dynamically.
# FORMAT REPLACEMENTS
*{layout}*: Layout, as defined by your layout generator. By default this will be *rivertile(1)*
*{icon}*: Icon, as defined in *format-icons*
# EXAMPLES
With layout name:
```
"river/layout": {
"format": "{layout}",
"min-length": 4,
"align": "right"
}
```
With icons, this sets icons for the 4 layouts available in rivertile:
```
"river/layout": {
"format": "{icon}",
"min-length": 3,
"format-icons": {
"left": "[]=",
"bottom": "TTT",
"top": "ꓕꓕꓕ",
"right": "=[]",
}
}
```
# STYLE
- *#layout*
- *#layout.focused* Applied when the output this module's bar belongs to is focused.
- *#layout.<layout>* Applied when the output this module's bar belongs uses this layout.
# SEE ALSO
waybar(5), river(1), rivertile(1)