Stark Window Manager for macOS.
swm is a command-line window manager with optional automatic tiling. One swm process runs as a daemon and tracks applications, displays, spaces, and windows. Other invocations send commands to that daemon.
It is inspired by yabai and replaces the JavaScript configuration used by its predecessor, Stark, with a small shell-based command interface.
Requires macOS 26 or later and Accessibility permission for swm.
brew tap starkwm/formulae
brew install starkwm/formulae/swm
brew services start swmGrant Accessibility permission when prompted. swm starts with a floating layout. Create ~/.config/swm/swmrc to enable tiling and apply settings at startup.
See getting started for requirements and source builds, or the configuration guide for an example startup script.
The documentation index links to all guides and command references.
Guides:
- Getting started: requirements, installation, and source builds.
- Configuration: startup scripts, global defaults, and window animation.
- Command line: daemon startup, command syntax, help, and shell completions.
- Keyboard shortcuts: invoke swm commands from a hotkey daemon.
- Testing: run focused suites and benchmark the edit-build-test cycle.
Command reference:
- Query state: inspect displays, spaces, and windows as JSON.
- Manage windows: focus, minimize, move, resize, and control tiling.
- Configure spaces: activation, layouts, padding, gaps, and display behavior.
- Manage displays: focus displays by index, order, recency, or direction.
- Signals: register shell actions for runtime events.
- Window rules: keep windows floating or place them on a display.