waybar-wlr-workspaces(5)

✨ NAME ✨

So this is waybar-wlr-workspaces(5) bestie β€” it's the little manual page for the wlr workspaces module of waybar. If you're deep in the waybar config files (that's the "File Formats Manual" energy 🫢), you're in the right place.


🌸 DESCRIPTION 🌸

The workspaces module shows you the workspaces you're currently using in your Wayland compositor. That's it, that's the vibe β€” your workspaces, on display, living their main character life. πŸ’…


πŸŽ€ CONFIGURATION πŸŽ€

You address this module as ext/workspaces. Here's everything you can set, and yes we're going through all of it, no skipping πŸ”₯

  • format
    • typeof: string
    • default: {name}
    • The format β€” aka how the info should be displayed. It's giving "how do I want this to look".
  • format-icons
    • typeof: array
    • Based on the workspace's name and state, the matching icon gets picked. Peep the ICONS section below for the details.
  • sort-by-name
    • typeof: bool
    • default: true
    • Should workspaces be sorted by name? When every name is numbers, the names get sorted numerically instead.
  • sort-by-coordinates
    • typeof: bool
    • default: false
    • Should workspaces be sorted by coordinates? Heads up: if both sort-by-name and sort-by-coordinates are true, then sorting by name comes first. And if both are false, it'll sort by id instead.
  • sort-by-id
    • typeof: bool
    • default: false
    • Should workspaces be sorted by ID? When all the IDs are numbers, the IDs get sorted numerically. This one takes precedence over any other sort-by option β€” it's the main character of sorting, periodt. πŸ‘‘
  • all-outputs
    • typeof: bool
    • default: false
    • If it's set to false, a workspace group only shows up in the output it's assigned to. Otherwise (set to true), all the workspace groups are shown. No hiding, full slay.
  • active-only
    • typeof: bool
    • default: false
    • Set it to true and only active or urgent workspaces get shown. Everything else? Not invited to the party πŸ™ˆ
  • ignore-hidden
    • typeof: bool
    • default: true
    • If you set it to false, hidden workspaces will be shown too. The hidden ones get their moment ✨

πŸ¦‹ FORMAT REPLACEMENTS πŸ¦‹

These are the lil placeholders you can drop into format:

  • {name} β€” Name of workspace assigned by compositor.
  • {id} β€” ID of workspace assigned by compositor.
  • {icon} β€” Icon, as defined in format-icons.

πŸ’– CLICK ACTIONS πŸ’–

Stuff you can bind to clicks, iykyk:

  • activate β€” Switch to workspace.
  • deactivate β€” Deactivate the workspace.
  • close β€” Close the workspace.

🌈 ICONS 🌈

On top of matching by workspace name, you can also set these in format-icons:

  • default β€” Will be shown, when no string match is found.
  • active β€” Will be shown, when workspace is active.

⭐ EXAMPLES ⭐

Here's a whole setup, copy-paste ready, no cap:

"ext/workspaces": {
     "format": "{name}: {icon}",
     "on-click": "activate",
     "format-icons": {
          "Workspace 1": "",
          "Workspace 2": "",
          "Workspace 3": "",
          "Workspace 4": "",
          "active": "",
          "default": ""
     },
     "sort-by-id": true
}

πŸ’… Style πŸ’…

The CSS selectors you can style, bestie β€” go make it cute:

  • #workspaces
  • #workspaces button
  • #workspaces button.active
  • #workspaces button.urgent
  • #workspaces button.hidden

That's the whole page, and that's a wrap, gorge 🫢 This was waybar-wlr-workspaces(5) from version 2026-02-08 β€” dated and everythang, iconic of it. Now go sort those workspaces and slay the day away πŸ‘‘πŸ’–

πŸ“¦ where this page comes from