Multi-Monitor Workspaces
Each monitor gets its own isolated set of workspaces 1–9 (and 0). SUPER+1 goes to workspace 1 on the screen you're on.
About
Stock Hyprland has one global set of numbered workspaces. The first SUPER+1 creates workspace 1 on whichever monitor has focus, and every later one jumps there — so the numbers end up scattered across screens, 1 and 3 on one, 2 on the other. With this plugin, SUPER + a number goes to that workspace on the monitor you're on, SUPER+SHIFT moves the window there, and scroll and SUPER+TAB step through the current screen's workspaces only. Each screen's bar shows just its own 1–9.
Under the hood every screen owns a block of real Hyprland workspace ids (1–10, 11–20, …), bound with workspace rules. Blocks belong to the screen, identified by its description, not the port — so a monitor keeps its workspaces across docks and reboots. Unplug one and its workspaces are adopted by the screen you still have, keeping their numbers where free; plug it back in and they go home, windows and all. The plugin checks your ~/.config/hypr files before binding anything and skips keys you've bound yourself, and disabling it puts everything back to stock Omarchy.
Highlights
- Per-screen numbering — number keys, scroll,
SUPER+TABand the bar all stay on the current monitor - Survives unplugging — workspaces move to the remaining screen and go home when the monitor returns
- Your keys stay yours — anything bound in your own Hyprland config is left alone
- No config edits — a loader in Omarchy's toggles folder; disable and it reloads to stock
- Update checks — notifies when an
omarchy updatechanges the stock bindings or widget it replaces - hyprtasking-aware — the overview grid shows each monitor its own workspaces
Install
$ omarchy plugin add https://github.com/davidboulay/omarchy-multi-monitor-workspaces.git --enable
Requires Omarchy 4 (Hyprland with the Lua config); no extra packages. Toggle it from Setup → Plugins.