waybar-hyprland-submap(5)

πŸ’– waybar-hyprland-submap β€” the manual page, but make it a group chat πŸ’–

okay so bestie, you know the waybar-hyprland-submap page from the File Formats Manual? yeah. that one. sit down, grab a strawberry πŸ“, and let me tell you about the module that tells you which submap you're in. it's giving ✨awareness✨. no cap.

🌈 NAME 🌈

waybar β€” the hyprland submap module. that's it, that's the name, iykyk πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

The submap module shows you the currently active submap, kinda like how sway/mode does it. same energy, different compositor. periodt. πŸŽ€

so like… you're typing in a submap and this lil cutie on your bar is like "hey bestie you're in this one" and you're like "omg thank you" 🫢 iconic behaviour fr fr.


πŸ‘‘ CONFIGURATION πŸ‘‘

This module lives at hyprland/submap. that's its address, that's where you find it, don't @ me.


  • format β€” typeof: string, default: {}. this is how the info gets displayed. the {} is the placeholder where the currently active submap goes. so {} becomes your submap name and the whole bar says it out loud. slay.
  • rotate β€” typeof: integer. give it a positive value to rotate the text label. rotations happen in 90 degree increments, so it's like 90, 180, 270 vibe check. 🌈
  • max-length β€” typeof: integer. the maximum length in characters that the module is allowed to display. it's the character limit bestie, no oversharing πŸ’€
  • min-length β€” typeof: integer. the minimum length in characters the module should accept. the opposite of the above. the bare minimum, literally πŸ₯²
  • align β€” typeof: float. where the label sits inside the module. 0 is left-aligned, 1 is right-aligned. also!! if the module is rotated, it follows the flow of the text. thoughtful queen πŸ‘‘
  • justify β€” typeof: string. this is the alignment of the text inside the module's label. your options are 'left', 'right', or 'center'. pick your fighter. πŸŽ€
  • on-click β€” typeof: string. the command that runs when you click the module. go off.
  • on-click-middle β€” typeof: string. the command that runs when you middle-click the module using the mousewheel. yes the wheel, yes it clicks, yes it's a whole thing.
  • on-click-right β€” typeof: string. the command for when you right-click the module. right-click gang rise up πŸ’…
  • on-update β€” typeof: string. the command that fires whenever the module gets updated. every single time. loyal fr fr.
  • on-scroll-up β€” typeof: string. the command that runs when you scroll up on the module. β¬†οΈβœ¨
  • on-scroll-down β€” typeof: string. the command that runs when you scroll down on the module. β¬‡οΈβœ¨
  • smooth-scrolling-threshold β€” typeof: double. the threshold used when scrolling. it's the vibes-based sensitivity dial, basically.
  • tooltip β€” typeof: bool, default: true. option to disable the tooltip on hover. default is on, so if you're getting a lil popup you didn't ask for, here's your culprit πŸ™ˆ
  • always-on β€” typeof: bool, default: false. option to display the widget even when there's no active submap. default is off, so it hides itself when there's nothing to say. respect the boundaries 🫢
  • default-submap β€” typeof: string, default: Default. option to set the submap name that gets displayed when you're not in an active submap. so when there's no submap, it still says Default instead of going ghost. main character energy tbh πŸ‘‘
  • menu β€” typeof: string. the action that popups the menu.
  • menu-file β€” typeof: string. the location of the menu descriptor file. and listen, there needs to be an element of type GtkMenu with id menu in there. like, requirement. non-negotiable. 🚨
  • menu-actions β€” typeof: array. the actions corresponding to the buttons of the menu. it's the little menu-button-to-action matchmaking service πŸ’–
  • expand β€” typeof: bool, default: false. turns this module into a space-hungry icon that consumes all left over space dynamically. dramatic and i respect it. πŸ”₯

✨ EXAMPLES ✨

look at this config, it ate and left no crumbs:

"hyprland/submap": {
     "format": "✌️ {}",
     "max-length": 8,
     "tooltip": false
}

peace sign, submap name, eight characters max, no tooltip. flawless. no notes. πŸ’…


🌸 STYLE 🌸

style these selectors bestie, they're yours to dress up:

  • #submap
  • #submap.<name>

the second one is the one that lets you style per-submap, so you can make each one a different vibe. iykyk πŸŽ€


ok that's the whole page, nothing skipped, nothing faked, every flag accounted for. facts stay facts, only the energy changed. πŸ’œ

this has been the waybar-hyprland-submap(5) page β€” dated 2026-02-08, from the same waybar-hyprland-submap(5) crew, page 5 of the File Formats Manual. mwah. bye bestie πŸ¦‹βœ¨πŸŽ€

πŸ“¦ where this page comes from