waybar-sndio(5)

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

okay bestie, sit down, hydrate, and let me tell you about the sndio module for waybar β€” it lives in the File Formats Manual section and it is so cute once you get to know it πŸŽ€


✨ NAME ✨

waybar - sndio module β€” your lil volume bestie, but make it sndio 🌸


πŸ¦‹ DESCRIPTION πŸ¦‹

The sndio module shows you the current volume that sndio(7) is reporting. that's it, that's the whole vibe check πŸ’…

but wait, there's more, because it's also interactive: scroll up or down while your cursor is hovering over the module and you can control the volume. and if you click on the module? it toggles mute. no cap, clicking = mute toggle. iconic behaviour fr fr πŸ‘‘


πŸŽ€ CONFIGURATION πŸŽ€

every single knob you can turn, listed with love and zero skips:

  • format
    • typeof: string
    • default: {volume}%
    • the format for how information should be displayed ✨
  • 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 🫢
  • scroll-step
    • typeof: int
    • default: 5
    • the speed at which to change the volume when scrolling. yes, 5 is the default, remember it 🌈
  • on-click
    • typeof: string
    • command to execute when clicked on the module.
    • > heads up bestie: this replaces the default behaviour of toggling mute πŸ’€
  • 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.
    • this replaces the default behaviour of volume control 😭
  • on-scroll-down
    • typeof: string
    • command to execute when scrolling down on the module.
    • this replaces the default behaviour of volume control 😭
  • smooth-scrolling-threshold
    • typeof: double
    • threshold to be used when scrolling 🧊
  • 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. main character energy, taking up all the room πŸ‘‘

🌈 FORMAT REPLACEMENTS 🌈

the little magic words you can drop into your format string:

  • {volume} β€” volume in percentage πŸ’―
  • {raw_value} β€” volume as value reported by sndio πŸ”₯

🌸 EXAMPLES 🌸

here's the moment you've been waiting for, a real config snippet, copied exactly, no edits, periodt:

    "sndio": {
         "format": "{raw_value} 🎜",
         "scroll-step": 3
    }

see how scroll-step is 3 there? cute. that's the whole point of examples 🫢


πŸ’œ STYLE πŸ’œ

the CSS selectors you can style, because of course you can style them:

  • #sndio
  • #sndio.muted

that's the whole page bestie, go forth and vibe with your volume πŸ’…πŸ¦‹βœ¨

p.s. this came to you from waybar-sndio(5), dated 2026-02-08 β€” mwah, love u, bye πŸ’–
πŸ“¦ where this page comes from