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>
138 lines
3.0 KiB
Scdoc
138 lines
3.0 KiB
Scdoc
waybar-dwl-window(5)
|
|
|
|
# NAME
|
|
|
|
waybar - dwl window module
|
|
|
|
# DESCRIPTION
|
|
|
|
The *window* module displays the title of the currently focused window in DWL
|
|
|
|
# CONFIGURATION
|
|
|
|
Addressed by *dwl/window*
|
|
|
|
*format*: ++
|
|
typeof: string ++
|
|
default: {} ++
|
|
The format, how information should be displayed.
|
|
|
|
*hide-empty*: ++
|
|
typeof: bool ++
|
|
default: false ++
|
|
Option to hide the module when the content would be empty.
|
|
|
|
*hide-inactive*: ++
|
|
typeof: bool ++
|
|
default: false ++
|
|
Option to hide the module when the window is unfocused.
|
|
|
|
*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.
|
|
|
|
*on-update*: ++
|
|
typeof: string ++
|
|
Command to execute when the module is updated.
|
|
|
|
*on-scroll-up*: ++
|
|
typeof: string ++
|
|
Command to execute when scrolling up on the module.
|
|
|
|
*on-scroll-down*: ++
|
|
typeof: string ++
|
|
Command to execute when scrolling down on the module.
|
|
|
|
*smooth-scrolling-threshold*: ++
|
|
typeof: double ++
|
|
Threshold to be used when scrolling.
|
|
|
|
*tooltip*: ++
|
|
typeof: bool ++
|
|
default: true ++
|
|
Option to disable tooltip on hover.
|
|
|
|
*rewrite*: ++
|
|
typeof: object ++
|
|
Rules to rewrite the module format output. See *rewrite rules*.
|
|
|
|
*icon*: ++
|
|
typeof: bool ++
|
|
default: false ++
|
|
Option to hide the application icon.
|
|
|
|
*icon-size*: ++
|
|
typeof: integer ++
|
|
default: 24 ++
|
|
Option to change the size of the application icon.
|
|
|
|
*expand*: ++
|
|
typeof: bool ++
|
|
default: false ++
|
|
Enables this module to consume all left over space dynamically.
|
|
|
|
# FORMAT REPLACEMENTS
|
|
|
|
*{title}*: The title of the focused window.
|
|
|
|
*{app_id}*: The app_id of the focused window.
|
|
|
|
*{layout}*: The layout of the focused window.
|
|
|
|
# REWRITE RULES
|
|
|
|
*rewrite* is an object where keys are regular expressions and values are
|
|
rewrite rules if the expression matches. Rules may contain references to
|
|
captures of the expression.
|
|
|
|
Regular expression and replacement follow ECMA-script rules.
|
|
|
|
If no expression matches, the format output is left unchanged.
|
|
|
|
Invalid expressions (e.g., mismatched parentheses) are skipped.
|
|
|
|
# STYLE
|
|
|
|
- *#window.active*
|
|
|
|
# EXAMPLES
|
|
|
|
```
|
|
"dwl/window": {
|
|
"format": "{}",
|
|
"max-length": 50,
|
|
"rewrite": {
|
|
"(.*) - Mozilla Firefox": "🌎 $1",
|
|
"(.*) - zsh": "> [$1]"
|
|
}
|
|
}
|
|
```
|