Do what you loveeasier.faster.better.

OmniWM brings the Hyprland and Niri experience to macOS — scrolling columns, BSP tiling, a built-in Ghostty quake terminal, a unified command palette, and full IPC/CLI automation, with display-synced animations that feel native because they are.

brew tap BarutSRB/tap && brew install omniwm

v0.6.3 · macOS 26+ (Tahoe) · Apple Silicon · GPL-2.0 · Free forever

Scrolling columns

Niri layout

An infinite horizontal strip of columns where focus glides the camera instead of rearranging your windows. Swap windows inside a column, cycle column widths through presets, or grab any window with the mouse and resize both axes at once — the whole strip re-flows live under your hand.

Learn more →
++Swap down+.Cycle width+right-dragFluid resize+Focus right

Swap, cycle, or free-resize on both axes at once — the strip re-flows live.

Dwindle BSP

Hyprland layout

Hyprland-style dwindle tiling: every new window bisects the focused tile along its wider axis, spiraling naturally — half, quarter, eighth. Tune split ratios, preselect where the next window lands, group tiles into tabs, and take any tile fullscreen and back with one key.

Learn more →
+Fullscreen

Each window bisects the focused tile — ⌥⏎ takes any tile fullscreen and back.

Every workspace at once

Overview

Every window from every workspace flies into one searchable, zoomable view. Arrow around, send windows to other workspaces, merge them into columns, drag or close them — your whole layout is editable from above, then everything flies back to exactly where it belongs.

Learn more →
++OOverview++scrollZoom++2To workspace 2++Merge into columnFocus

Every workspace at once — zoom, move, and merge windows without leaving the keyboard.

Windows · menus · clipboard

Command palette

Every window, every menu item of the frontmost app, and your clipboard history behind one hotkey. Results rank by window title, then app, then workspace. Enter focuses; Shift+Enter summons the window right next to you.

Learn more →
++SpacePaletteJump+Summon

Jump to any window on any workspace — or summon it to your side instead.

Ghostty built in

Quake terminal

A real terminal — Ghostty’s libghostty rendering inside OmniWM, not a wrapper around another app. One key drops it over any screen with tabs, splits, and an optional glass background — and it sticks: workspaces switch and layouts re-tile beneath it while it stays exactly where you left it.

Learn more →
+`Toggle+DSplit pane+2Switch workspace

A real Ghostty terminal that floats above every workspace — the desktop changes beneath, it doesn’t move.

Two fingers, three, four

Trackpad gestures

Swipe with 2, 3, or 4 fingers to drive the Niri strip — Snap to Columns lands you on the nearest column, or switch to Momentum for free inertial glides with rubber-band edges. Opt in to workspace swipe and another gesture flips workspaces on the monitor under your cursor, one switch per swipe.

Learn more →
2-finger swipeSnap to columns2-finger flickMomentum3-finger swipeWorkspace swipe

Swipe to snap, flick to glide with rubber-band edges — and three fingers flip the workspace.

A per-display island

Workspace bar

A floating island on each display that fits the MacBook notch perfectly — the active workspace docks beside the notch while the rest line up across it. Emoji-friendly chips, live app icons with focus glow, hidden-app badges, scratchpad pills, and per-monitor everything.

Learn more →
+1Workspace 1+2Workspace 2+3Workspace 3

Split around the notch, pixel-perfect — the active workspace always docks on its left.

A sticky widget layer

Scratchpads

A floating layer above your tiles for the tools you keep reaching for — calculator, notes, music. Ten slots, each holding any number of windows, toggled with one key, restored exactly where they were — and the visible slot follows you across every workspace.

Learn more →
+1Toggle widgets+2Switch workspace

A sticky floating layer above your tiles — toggled with one key, following you across workspaces.

Ice-style, built in

Hidden Bar

Tick the apps whose menu-bar icons you never need — they vanish and the bar goes quiet. Right-click the OmniWM icon and a floating panel drops below the workspace bar with live captures of the real items; click one to use its actual menu, and everything re-hides itself seconds later.

Learn more →
right-clickReveal hidden iconsEscDismiss

Tick the apps to hide — the bar goes quiet, and a right-click brings the icons down to you.

CPU · GPU · memory · disk

System stats

A gauge on the workspace bar opens a live readout — CPU, GPU, memory, and disk each with its own meter, plus uptime, chip, and display info in one glass popup. Drive it from the bar, a hotkey, or omniwmctl on the command line — all three toggle the same popup.

Learn more →
clickStats buttonFrom the CLI

CPU, memory, GPU, disk, and uptime — one gauge on the island, one popup below it, hotkey- and CLI-driven.

Across displays

Move edge

Your monitors become one big canvas with physical borders. At the edge of a layout, the same Move keystroke carries the window across the bezel onto the next display — layouts on both sides adapt, and focus travels with it, matching how your desk is actually arranged.

Learn more →
++Move window

Four displays, one canvas — Move carries the window across every bezel and each layout makes room.

Script every move

The bundled omniwmctl speaks NDJSON over a local socket — query state, drive windows and workspaces, and subscribe to live events from scripts, Raycast, or anything else.

omniwmctl query windows --workspace 1
omniwmctl command focus right
omniwmctl command scratchpad toggle 2
omniwmctl subscribe focus
{"channel":"focus","id":"9F2C…","kind":"event","ok":true,"result":{"kind":"focused-window","payload":{"window":{"id":"ow_h3k…","title":"Ghostty"}}},"status":"success","version":13}

What switchers say

Coming from yabai, AeroSpace, Rectangle, or Amethyst? So were they — real words from real users, every quote linking to its GitHub source.

I've been through Aerospaces, Yabai, Rift, and now this… I recently tried Paneru and Komorebi, and nothing compares to what OmniWM is.
@dagrlxvia GitHub ↗
Animations are buttery smooth
@yougotwillvia GitHub ↗
after just getting a taste of how snappy/responsive it was, i refuse to re-enable PaperWM
@besseddrestvia GitHub ↗
your work is absolutely fantastic. I personally adore it. […] Immediately uninstalled aerospace and started using omni.
@amoghyermalkar123via GitHub ↗
Given how early it is in the development process, this is undoubtedly the best tiling window manager for OSX.
@imrellxvia GitHub ↗
I'm using OmniWM - coming from a Niri/Noctalia setup on Linux - for a few hours now and already fell in love with it. 😍
@jemayervia GitHub ↗
OmniWM is already becoming my favorite WM and is now my daily driver. I can see this becoming the go-to window manager for Mac users…
@jsonMartinvia GitHub ↗
I have now switched to omniwm on multiple monitors full time and I love it.
@sgrimeevia GitHub ↗
I've been using OmniWM for a couple of weeks now and I love it! I am an absolute sucker for Niri on Linux and have been craving that experience elsewhere.
@connorchanjazzmanvia GitHub ↗

And a whole control panel more

One-click toggles live in the menu bar — each with a live animated preview explaining what it does.

Borders Colored outline around the focused window
Workspace Bar Per-display clickable workspace island
Keep Awake Blocks idle display sleep
Focus Mouse Focus follows mouse, no click needed
Focus Edge Focus crosses to the adjacent display at a layout edge
Mouse to Focused Pointer warps to the window after keyboard focus
Follow Monitor Follow windows you move to another workspace
Move Edge Move crosses to the adjacent display at a layout edge
Mouse Warp Pointer crosses displays via your routing map
Hide Menu Icons macOS 27Conceal menu-bar icons, Ice-style

Performance & trust

Built for people who came from Linux tiling and refuse to compromise.

Low-latency by design

Uses Apple private APIs where possible for direct, low-latency window management.

Refresh-rate-aware

Animations pace themselves to your display — 60, 120, or 144 Hz.

SIP stays on

Never requires disabling System Integrity Protection — and never will.

Signed & notarized

Every official release is Developer-ID signed and Apple-notarized.

Forever free

No subscriptions, paywalls, trials, or usage caps. GPL-2.0, source available.

Install

macOS 26+ (Tahoe) on Apple Silicon.

Homebrew

brew tap BarutSRB/tap
brew install omniwm

Upgrades arrive with brew upgrade omniwm.

Nix

Three community packages are available — a NUR package, a standalone flake with a Home Manager module, and a dotfiles example.

Pick the one that fits your setup →

Direct download

Grab OmniWM-v0.6.3.zip from GitHub Releases, unzip, and drop OmniWM.app into /Applications.

Download the latest release ↗

First launch checklist: turn Displays have separate Spaces ON (then log out and back in), and grant Accessibility + Input Monitoring. Screen Recording is optional — it powers Overview thumbnails. Full steps in the installation guide.