Atomic topology
Every bar reads one registered-monitor snapshot. Attach and detach invalidate all presentations together.
Omarchy × Hyprland · v2.2.8
Assign a separate workspace bank to each connected monitor. Bank allocation prevents overlapping IDs and replaces stale monitor state after topology changes.
The allocation model
Explicit bank overrides win, then configured monitor priority, then connected output names in alphabetical order. Duplicate requests are resolved without overlap.
Exact output-to-bank overrides
Configured monitor order
Alphabetical fallback
Topology changes
Every bar reads one registered-monitor snapshot. Attach and detach invalidate all presentations together.
Generation-tagged registrations prevent an old widget from removing its replacement during shell reload.
Open the exact monitor panel, edit its global workspace glyphs, and inspect the effective bank through IPC.
Focus, move, or move silently. Wheel navigation stays inside the assigned monitor bank and can wrap at edges.

Your semantics, visible
Hybrid mode gives the active workspace a glyph, occupied workspaces an active-colored number, and empty workspaces a muted number. Optional per-workspace glyphs can turn global IDs into gaming, social, music, or coding landmarks.
Inspectable automation
qs ipc call multi-monitor-workspaces status
qs ipc call multi-monitor-workspaces workspaceIds DP-1
qs ipc call multi-monitor-workspaces activate DP-1 4 focusField intent merges against the latest shell entry. Removed entries are never resurrected, failed writes stay visible, and request errors cannot mask persistence failures.
Status exposes topology serials, registered monitors, allocation snapshots, revision state, pending writes, and separate request/persistence errors.
Install
Requires Omarchy Quattro 4.0 or newer and the built-in Omarchy bar.
omarchy plugin add https://github.com/bolens/omarchy-multi-monitor-workspaces.git --enable
omarchy bar move io.github.bolens.multi-monitor-workspaces --section left --after omarchy.menuReference