waybar-tray(5)

🌸 waybar-tray β€” the tray module, bestie edition ✨

okay so real talk, this is the waybar-tray(5) page from the File Formats Manual, and it's literally the manual for waybar's tray module. sit down, grab a strawberry drink πŸ“, and let's get into it.


πŸ’– NAME πŸ’–

waybar β€” the tray module. that's it, that's the name. iconic.


😭 DESCRIPTION 😭

WARNING: tray is still in beta. There may be bugs. Breaking changes may occur.

like… she's in her beta era fr fr. she might glitch, she might change on you without warning, and ngl that's just the vibe right now. don't be shocked when things shift under you πŸ’€


πŸŽ€ CONFIGURATION πŸŽ€

This module answers to the name tray. that's how you address her in your config. periodt.

  • icon-size β€” typeof: integer β€” sets how big the tray icons are. size matters, choose it deliberately πŸ’…
  • show-passive-items β€” typeof: bool β€” default: false β€” controls whether the tray icons that are sitting in Passive status are visible or not. lowkey they're just vibing in the background, but you can make them show up if you want πŸ‘€
  • smooth-scrolling-threshold β€” typeof: double β€” the threshold used when you scroll. yes, it's a double. yes, it's specific. yes, it slays ✨
  • spacing β€” typeof: integer β€” how much breathing room goes between the tray icons. personal space is important 🫢
  • reverse-direction β€” typeof: bool β€” decides whether new app icons get added in reverse order. so instead of the new bestie showing up at the end of the lineup, she goes to the front. main character energy, honestly πŸ‘‘
  • on-update β€” typeof: string β€” a command that gets executed whenever the module is updated. a little treat that runs every time πŸ”₯
  • expand β€” typeof: bool β€” default: false β€” turn this on and the module is allowed to consume all leftover space dynamically. she eats. she devours. she takes up the whole couch πŸ›‹οΈ

🌈 EXAMPLES 🌈

here's a whole lil tray config, copy it, love it, make it yours:

"tray": {
     "icon-size": 21,
     "spacing": 10,
  "icons": {
    "blueman": "bluetooth",
    "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
  }
}

see how "blueman" maps to "bluetooth", and "TelegramDesktop" maps to that whole $HOME/.local/share/icons/hicolor/16x16/apps/telegram.png path? mapping icons by hand. very demure, very mindful πŸ’œ


πŸ¦‹ STYLE πŸ¦‹

these are the CSS selectors you get to play with, go off:

  • #tray
  • #tray > .passive
  • #tray > .active
  • #tray > .needs-attention

the .needs-attention one? she's the one yelling for you in the group chat πŸ””


okay bestie that's the whole page πŸ’– this was the tray module for waybar, documented in the File Formats Manual, and this version is dated 2026-02-08. go forth, style your tray, and remember: she's still in beta, so be gentle with her 😭✨

πŸ“¦ where this page comes from