waybar-sway-language(5)

✨ waybar-sway-language ✨

okay bestie, this is the manual page for waybar-sway-language β€” the Sway language module for waybar, straight out of the File Formats Manual πŸ’– it's a little one but it's mighty, and we're gonna go through every single crumb together, no skipping 🫢


🌸 NAME 🌸

waybar sway language module β€” that's the whole vibe πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

The language module displays the current keyboard layout in Sway. that's it, that's the whole job, and it does it beautifully ✨


πŸ’œ CONFIGURATION πŸ’œ

You address this module as sway/language in your config. say its name and it shall appear πŸ‘‘

  • format β€” typeof: string, default: {}. The format, how layout should be displayed. like, how do you want your keyboard layout to look on screen bestie πŸŽ€
  • hide-single-layout β€” typeof: bool, default: false. Defines visibility of the module if a single layout is configured. so if you only have one layout going on, do you even want the module showing?? this decides that fr fr πŸ™ˆ
  • tooltip-format β€” typeof: string, default: {}. The format, how layout should be displayed in tooltip. same energy as format but for the little hover moment ✨
  • tooltip β€” typeof: bool, default: true. Option to disable tooltip on hover. default is on, so hover away, but you can turn it off if that's your thing πŸ’…
  • menu β€” typeof: string. Action that popups the menu. boop, a menu appears πŸ“
  • menu-file β€” typeof: string. Location of the menu descriptor file. There need to be an element of type
GtkMenu with id menu
⚠️ no cap, if that GtkMenu element with id menu isn't in there, this is not gonna go how you want it to go, bestie 😭
  • menu-actions β€” typeof: array. The actions corresponding to the buttons of the menu. one action per button, match them up cute πŸŽ€
  • expand β€” typeof: bool, default: false. Enables this module to consume all left over space dynamically. main character energy β€” it takes up ALL the leftover room πŸ‘‘

🌈 FORMAT REPLACEMENTS 🌈

these are the little placeholder besties you can drop into your format strings, iykyk ✨

  • {short} β€” Short name of layout (e.g. "us"). Equals to {}. πŸ’–
  • {shortDescription} β€” Short description of layout (e.g. "en").
  • {long} β€” Long name of layout (e.g. "English (Dvorak)").
  • {variant} β€” Variant of layout (e.g. "dvorak").
  • {flag} β€” Country flag of layout. 🏳️ slay

πŸ’… EXAMPLES πŸ’…

here's the moment you've been waiting for, copy-paste royalty πŸ‘‘

"sway/language": {
     "format": "{}",
},
"sway/language": {
     "format": "{short} {variant}",
}

πŸŽ€ STYLE πŸŽ€

  • #language

and that's the whole page, periodt πŸ’œ this was waybar-sway-language(5), and it came to you from the 2026-02-08 era of the file formats manual β€” go forth and display your keyboard layouts, icon πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from