MMWMulti-Monitor Workspaces

Omarchy × Hyprland · v2.2.8

Every display.
Its own workspace bank.

Assign a separate workspace bank to each connected monitor. Bank allocation prevents overlapping IDs and replaces stale monitor state after topology changes.

󱓻234567890
󱓻234567890
TESTED SCALE1 → 100 monitors
DEFAULT BANK10 workspaces
TOPOLOGY OWNER1 shared service

The allocation model

Overrides first.
Output names last.

Explicit bank overrides win, then configured monitor priority, then connected output names in alphabetical order. Duplicate requests are resolved without overlap.

01monitorBanks

Exact output-to-bank overrides

02monitorPriority

Configured monitor order

03Output name

Alphabetical fallback

RESULTNo overlapping workspace IDs

Topology changes

Attach or remove a display.

Atomic topology

Every bar reads one registered-monitor snapshot. Attach and detach invalidate all presentations together.

Stale teardown protection

Generation-tagged registrations prevent an old widget from removing its replacement during shell reload.

Per-monitor settings

Open the exact monitor panel, edit its global workspace glyphs, and inspect the effective bank through IPC.

Flexible actions

Focus, move, or move silently. Wheel navigation stays inside the assigned monitor bank and can wrap at edges.

Multi-Monitor Workspaces running across the Omarchy desktop
Real two-monitor workspace banks in Omarchy Shell.

Your semantics, visible

Numbers where useful. Glyphs where meaningful.

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.

  • Number, global, glyph, and hybrid modes
  • Independent active, occupied, and empty colors
  • Per-workspace glyph overrides
  • Opacity, width, margin, and padding controls

Inspectable automation

One IPC surface. Explicit outcomes.

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 focus

Race-safe persistence

Field intent merges against the latest shell entry. Removed entries are never resurrected, failed writes stay visible, and request errors cannot mask persistence failures.

Runtime evidence

Status exposes topology serials, registered monitors, allocation snapshots, revision state, pending writes, and separate request/persistence errors.

Install

Give every output a bank.

Requires Omarchy Quattro 4.0 or newer and the built-in Omarchy bar.

INSTALL.SH
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.menu

Reference

Allocation, tests, IPC, and security.