Requirements
macOS 14 (Sonoma) or later.
Accessibility permission must be granted: System Settings › Privacy & Security › Accessibility
Install
Homebrew
brew install zhubert/tap/zwm
Start ZWM as a background service:
brew services start zwm
Grant Accessibility permission when prompted, then ZWM will start tiling your windows.
To stop:
brew services stop zwm
To uninstall:
brew uninstall zwm
Build from source
git clone https://github.com/zhubert/zwm.git cd zwm make install
This builds a release binary, copies ZWM.app to /Applications/,
and installs the zwm CLI to /usr/local/bin/.
To uninstall a source build:
make uninstall
CLI
The zwm CLI communicates with the running server over a UNIX socket.
Run zwm --help for available commands.
Behavior
All behavior is hardcoded — there is no configuration file. To change settings,
edit EngineConfig.swift and rebuild.
Max tiling windows
4 per workspace. Overflow goes to the next workspace.
Focus follows mouse
Enabled. Windows are focused on hover without clicking.
Gaps
0 inner, 0 outer. No spacing between windows.
Workspaces
9 workspaces (1 – 9) per monitor.
Windows from Finder, windows titled “Preferences”, and System Settings are automatically floated. Windows smaller than 1/8 of the monitor area are also auto-floated.