Skip to content

MacOS Niri and Hyprland inspired tiling window manager that's developer signed and notorized (safe for managed enterprise environments). Aiming for parity and extra innovation.

License

Notifications You must be signed in to change notification settings

BarutSRB/OmniWM

Repository files navigation

OmniWM

A powerful tiling window manager for macOS.

macOS Apple Silicon Intel Claude Code

OmniWM demo OmniWM demo

OmniWM demo

OmniWM demo

OmniWM demo

OmniWM demo

Small demo, not fully showing everything, gif recorded at 30fps due to size, features shown:

  • real quake-style temrinal using ghostty framework
  • window finder/jumper
  • searchable and usable command pallet for any app
  • App menu anywhere
  • Niri tabs
  • Niri and Dwindle layout (some animations shown)
  • Hide/unhide status bar icons
  • Interactive workspace bar A lot more features not show in the gif.

Known Limitations

  • Multi-monitor support - Not fully tested (developer lacks multi-monitor setup)
  • Gestures/Trackpad - Magic Mouse and trackpad gestures are untested (no hardware available for testing)

Requirements

  • macOS 26+ (Tahoe)
  • Accessibility permissions (prompted on launch)

Installation

The app is developer signed and notarized by Apple.

Homebrew

brew tap BarutSRB/tap
brew install omniwm

GitHub Releases

  1. Download the latest OmniWM.zip from Releases
  2. Extract and move OmniWM.app to /Applications
  3. Launch OmniWM and grant Accessibility permissions when prompted

Quick Start

  1. Launch OmniWM from your Applications folder
  2. Grant Accessibility permissions in System Settings > Privacy & Security > Accessibility
  3. Windows will automatically tile in columns
  4. Use Option + Arrow keys to navigate between windows
  5. Click the menu bar icon to access Settings

User Guide

Layout Modes

OmniWM offers two layout engines that you can switch between per-workspace:

Niri (Scrolling Columns) - Windows arranged in vertical columns that scroll horizontally. Each column can have multiple stacked windows or be "tabbed" (multiple windows, one visible at a time). Best for wide monitors with many windows.

Dwindle (BSP) - Binary space partition layout that recursively divides screen space. Each new window splits the space in half. Best for traditional tiling with predictable layouts.

Switch layouts per-workspace with Option + Shift + L.

Keyboard Shortcuts

All shortcuts are customizable in Settings > Hotkeys.

Window Focus (Navigation)

Action Shortcut
Focus Left / Right / Up / Down Option + Arrow Keys
Focus Previous Window Option + Tab
Focus First in Column Option + Home
Focus Last in Column Option + End

Moving Windows

Action Shortcut
Move Left / Right / Up / Down Option + Shift + Arrow Keys
Swap Left / Right Option + Ctrl + H / L
Move Column Left / Right Option + Ctrl + Shift + ← / →

Workspaces

Action Shortcut
Switch to Workspace 1-9 Option + 1-9
Move Window to Workspace 1-9 Option + Shift + 1-9
Toggle Back & Forth Option + Ctrl + Tab
Summon Workspace to Current Monitor Ctrl + Shift + 1-9

Multi-Monitor

Action Shortcut
Focus Monitor in Direction Ctrl + Cmd + Arrow Keys
Focus Next Monitor Ctrl + Cmd + Tab
Move Window to Monitor Option + Ctrl + Arrow Keys

Layout Controls (Niri)

Action Shortcut
Cycle Column Width Option + . / Option + ,
Toggle Full Width Option + Shift + F
Balance Sizes Option + Shift + B
Toggle Tabbed Column Option + T
Consume Window into Column Option + Ctrl + [ / ]
Expel Window from Column Option + Ctrl + Shift + [ / ]

Special Features

Action Shortcut
Toggle Fullscreen Option + Return
Window Finder Ctrl + Option + Space
Menu Anywhere Ctrl + Option + M
Menu Palette (searchable) Ctrl + Option + Shift + M
Quake Terminal Option + `
Overview Option + Shift + O

Features

Quake Terminal

A drop-down terminal (powered by Ghostty) that slides in from the screen edge:

  • Toggle with Option + `
  • Supports multiple tabs and splits within tabs
  • Configure position (top/bottom/left/right/center), size, and opacity in Settings
  • Auto-hides on focus loss (optional)

Window Finder

Quickly search and jump to any window:

  • Press Ctrl + Option + Space
  • Type to fuzzy-search by window title or app name
  • Use arrow keys to select, Enter to focus

Menu Anywhere

Access any application's menu from your keyboard:

  • Ctrl + Option + M - Shows native menu at cursor
  • Ctrl + Option + Shift + M - Searchable menu palette

Overview Mode

See all windows at once with thumbnails:

  • Press Option + Shift + O
  • Click a window to focus it
  • Search to filter windows

Workspace Bar

A visual indicator showing your workspaces:

  • Displays open apps per workspace
  • Click to switch workspaces
  • Configure position, height, and appearance in Settings

Tips

  • Workspaces - Create named workspaces in Settings to organize by project or context
  • App Rules - Exclude problematic apps from tiling or assign them to specific workspaces
  • Mouse - You can also drag windows to reposition them interactively
  • Trackpad Gestures - Use scroll gestures with modifier keys to adjust column width

Configuration

Access settings by clicking the O menu bar icon and selecting Settings or App Rules.

App Rules

Configure per-application behavior in Settings > App Rules:

  • Always Float - Force specific apps to always float (e.g., calculators, preferences windows)
  • Assign to Workspace - Automatically move app windows to a specific workspace
  • Minimum Size - Prevent the layout engine from sizing windows below a threshold

Building from Source

Requirements:

  • SwiftPM with Swift 6.2+
  • macOS 26.0+

Support

If you find OmniWM useful, consider supporting development:

Contributing

Issues and pull requests are welcome on GitHub.

About

MacOS Niri and Hyprland inspired tiling window manager that's developer signed and notorized (safe for managed enterprise environments). Aiming for parity and extra innovation.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages