waybar-network(5)

πŸ’– waybar-network(5) πŸ’–

okay bestie, gather round, we're doing the waybar network module today and it's literally gonna be your new fave. this is section 5 of the manual (file formats, if you're keeping score) β€” it's giving config-file energy, not command-line energy. sit down, hydrate, let's go 🫢


✨ NAME ✨

waybar β€” network module. that's it, that's the whole name. she's simple, she's iconic πŸ’…


🌈 DESCRIPTION 🌈

the network module shows you what's up with your current network connections. wifi, ethernet, the whole thing. it's the little gremlin in your bar that tells you if you're connected or going through it 😭


πŸŽ€ CONFIGURATION πŸŽ€

you address this module as network in your config, no cap. here's every single thing you can set, and i mean every single one, we're not skipping a crumb πŸ“

  • interface β€” typeof: string. use the interface you define here instead of letting her auto-detect. wildcards are accepted, slay ✨
  • rfkill β€” typeof: bool. default: true. if this is enabled, the disabled format gets used whenever rfkill is blocking wlan interfaces. be aware πŸ’€
  • interval β€” typeof: integer. default: 60. how often the network info gets polled (like signal strength, for example). every 60 of your earth seconds unless you say otherwise 🌸
  • family β€” typeof: string. default: ipv4. which address family gets used for the {ipaddr} format replacement, and also what decides whether a network connection counts as present. set it to ipv4_6 if you wanna see both πŸ‘‘
  • format β€” typeof: string. default: {ifname}. the format, aka how the info should be displayed. this one is the fallback when no other format is specified πŸ¦‹
  • format-ethernet β€” typeof: string. used when an ethernet interface is being displayed.
  • format-wifi β€” typeof: string. used when a wireless interface is being displayed.
  • format-linked β€” typeof: string. used when a linked interface with no IP address is being displayed.
  • format-disconnected β€” typeof: string. used when the displayed interface is disconnected 😭
  • format-disabled β€” typeof: string. 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 goes low to high. or, if it's an object, it goes by state πŸ’–
  • rotate β€” typeof: integer. positive value rotates the text label, and it does it in 90 degree increments. she's turning, periodt πŸ”₯
  • max-length β€” typeof: integer. the maximum length in characters that the module should display.
  • min-length β€” typeof: integer. the minimum length in characters that the module should accept.
  • align β€” typeof: float. the alignment of the label inside the module β€” 0 is left-aligned, 1 is right-aligned. if the module is rotated, it follows the flow of the text, okay? ikyk 😌
  • justify β€” typeof: string. the alignment of the text inside the module's label. you can pick 'left', 'right', or 'center' to define the positioning ✨
  • on-click β€” typeof: string. command to run when the module is clicked.
  • on-click-middle β€” typeof: string. command to run when the module is middle-clicked with the mousewheel.
  • on-click-right β€” typeof: string. command to run when you right-click the module.
  • on-update β€” typeof: string. command to run when the module gets updated.
  • on-scroll-up β€” typeof: string. command to run when you scroll up on the module.
  • on-scroll-down β€” typeof: string. command to run when you scroll down on the module.
  • smooth-scrolling-threshold β€” typeof: double. the threshold to use when scrolling. nice and smooth, we love to see it 🌈
  • tooltip β€” typeof: bool. default: true. option to disable the tooltip on hover. if you're not a hover girlie, this one's for you πŸ™ˆ
  • tooltip-format β€” typeof: string. the format for how info should be displayed in the tooltip. this one is the fallback when no other tooltip formats are specified πŸŽ€
  • tooltip-format-ethernet β€” typeof: string. used when an ethernet interface is being displayed.
  • tooltip-format-wifi β€” typeof: string. used when a wireless interface is being displayed.
  • tooltip-format-disconnected β€” typeof: string. used when the displayed interface is disconnected.
  • tooltip-format-disabled β€” typeof: string. used when rfkill is blocking wlan interfaces.
  • menu β€” typeof: string. the action that popups the menu.
  • menu-file β€” typeof: string. location of the menu descriptor file. there needs 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 the left over space dynamically. she's hungry, let her eat πŸ‘‘

πŸ¦‹ FORMAT REPLACEMENTS πŸ¦‹

these are the little magic spell slots you drop into your formats. plop one in and it fills itself in, no cap πŸͺ„

  • {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.
  • {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.
  • {bandwidthTotalBytes} β€” instant total speed in bytes/seconds.
  • {icon} β€” icon, as defined in format-icons.

⭐ EXAMPLES ⭐

here's the whole vibe, copy her exactly:

    "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
    }
ngl bestie, yes, format-disconnected really does show up twice up there. i'm not touching it, that's just how the example is written and i don't make the rules πŸ™ˆ

πŸ’… STYLE πŸ’…

these are the CSS selectors you can target, go off:

  • #network
  • #network.disconnected
  • #network.disabled
  • #network.linked
  • #network.ethernet
  • #network.wifi

and that's the whole page!! 🫢 this beauty lives in the waybar-network(5) manual page, dated 2026-02-08 β€” write that down bestie, it's giving timeless ⭐ go forth and make your bar gorgeous πŸ’–βœ¨

πŸ“¦ where this page comes from