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>
239 lines
6.4 KiB
Scdoc
239 lines
6.4 KiB
Scdoc
waybar-network(5)
|
|
|
|
# NAME
|
|
|
|
waybar - network module
|
|
|
|
# DESCRIPTION
|
|
|
|
The *network* module displays information about the current network connections.
|
|
|
|
# CONFIGURATION
|
|
|
|
Addressed by *network*
|
|
|
|
*interface*: ++
|
|
typeof: string ++
|
|
Use the defined interface instead of auto-detection. Accepts wildcard.
|
|
|
|
*rfkill*: ++
|
|
typeof: bool ++
|
|
default: true ++
|
|
If enabled, the *disabled* format will be used when rfkill is blocking wlan interfaces.
|
|
|
|
*interval*: ++
|
|
typeof: integer ++
|
|
default: 60 ++
|
|
The interval in which the network information gets polled (e.g. signal strength).
|
|
|
|
*family*: ++
|
|
typeof: string ++
|
|
default: *ipv4* ++
|
|
The address family that is used for the format replacement {ipaddr} and to determine if a network connection is present. Set it to ipv4_6 to display both.
|
|
|
|
*format*: ++
|
|
typeof: string ++
|
|
default: *{ifname}* ++
|
|
The format, how information should be displayed. This format is used when other formats aren't specified.
|
|
|
|
*format-ethernet*: ++
|
|
typeof: string ++
|
|
This format is used when an ethernet interface is displayed.
|
|
|
|
*format-wifi*: ++
|
|
typeof: string ++
|
|
This format is used when a wireless interface is displayed.
|
|
|
|
*format-linked*: ++
|
|
typeof: string ++
|
|
This format is used when a linked interface with no IP address is displayed.
|
|
|
|
*format-disconnected*: ++
|
|
typeof: string ++
|
|
This format is used when the displayed interface is disconnected.
|
|
|
|
*format-disabled*: ++
|
|
typeof: string ++
|
|
This format is used when rfkill is blocking wlan interfaces.
|
|
|
|
*format-icons*: ++
|
|
typeof: array/object ++
|
|
Based on the current signal strength, the corresponding icon gets selected. ++
|
|
The order is *low* to *high*. Or by the state if it is an object.
|
|
|
|
*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.
|
|
|
|
*tooltip-format*: ++
|
|
typeof: string ++
|
|
The format, how information should be displayed in the tooltip. This format is used when other formats aren't specified.
|
|
|
|
*tooltip-format-ethernet*: ++
|
|
typeof: string ++
|
|
This format is used when an ethernet interface is displayed.
|
|
|
|
*tooltip-format-wifi*: ++
|
|
typeof: string ++
|
|
This format is used when a wireless interface is displayed.
|
|
|
|
*tooltip-format-disconnected*: ++
|
|
typeof: string ++
|
|
This format is used when the displayed interface is disconnected.
|
|
|
|
*tooltip-format-disabled*: ++
|
|
typeof: string ++
|
|
This format is used when rfkill is blocking wlan interfaces.
|
|
|
|
*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
|
|
|
|
*{ifname}*: Name of the network interface.
|
|
|
|
*{ipaddr}*: The first IP of the interface.
|
|
|
|
*{gwaddr}*: The default gateway for the interface
|
|
|
|
*{netmask}*: The subnetmask corresponding to the IP(V4).
|
|
|
|
*{netmask6}*: The subnetmask corresponding to the IP(V6).
|
|
|
|
*{cidr}*: The subnetmask corresponding to the IP(V4) in CIDR notation.
|
|
|
|
*{cidr6}*: The subnetmask corresponding to the IP(V6) in CIDR notation.
|
|
|
|
*{essid}*: Name (SSID) of the wireless network.
|
|
|
|
*{bssid}*: MAC address (BSSID) of the wireless access point.
|
|
|
|
*{signalStrength}*: Signal strength of the wireless network.
|
|
|
|
*{signaldBm}*: Signal strength of the wireless network in dBm.
|
|
|
|
*{signalStrengthApp}*: Human-readable descriptor of the wireless connectivity derived from the signal strength (e.g. "Great Connectivity", "Streaming", "Poor Connectivity").
|
|
|
|
*{frequency}*: Frequency of the wireless network in GHz.
|
|
|
|
*{bandwidthUpBits}*: Instant up speed in bits/seconds.
|
|
|
|
*{bandwidthDownBits}*: Instant down speed in bits/seconds.
|
|
|
|
*{bandwidthTotalBits}*: Instant total speed in bits/seconds.
|
|
|
|
*{bandwidthUpOctets}*: Instant up speed in octets/seconds.
|
|
|
|
*{bandwidthDownOctets}*: Instant down speed in octets/seconds.
|
|
|
|
*{bandwidthTotalOctets}*: Instant total speed in octets/seconds.
|
|
|
|
*{bandwidthUpBytes}*: Instant up speed in bytes/seconds.
|
|
|
|
*{bandwidthDownBytes}*: Instant down speed in bytes/seconds.
|
|
|
|
*{bandwidthUpBytesCompact}*: Instant up speed in bytes/seconds, formatted compactly (e.g. 1.2K).
|
|
|
|
*{bandwidthDownBytesCompact}*: Instant down speed in bytes/seconds, formatted compactly (e.g. 1.2K).
|
|
|
|
*{bandwidthTotalBytes}*: Instant total speed in bytes/seconds.
|
|
|
|
*{txBitrate}*: Link transmit bitrate (e.g., 866.7 Mb/s).
|
|
|
|
*{rxBitrate}*: Link receive bitrate (e.g., 866.7 Mb/s).
|
|
|
|
*{linkSpeed}*: Ethernet link speed.
|
|
|
|
*{icon}*: Icon, as defined in *format-icons*.
|
|
|
|
# EXAMPLES
|
|
|
|
```
|
|
"network": {
|
|
"interface": "wlp2s0",
|
|
"format": "{ifname}",
|
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
|
"format-ethernet": "{ifname} ",
|
|
"format-disconnected": "", //An empty format will hide the module.
|
|
"format-disconnected": "",
|
|
"tooltip-format": "{ifname}",
|
|
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
"tooltip-format-ethernet": "{ifname} ",
|
|
"tooltip-format-disconnected": "Disconnected",
|
|
"max-length": 50
|
|
}
|
|
```
|
|
|
|
# STYLE
|
|
|
|
- *#network*
|
|
- *#network.disconnected*
|
|
- *#network.disabled*
|
|
- *#network.linked*
|
|
- *#network.ethernet*
|
|
- *#network.wifi*
|