Amethyst
Automatic tiling window manager for macOS à la xmonad
Features
- Multiple dynamic layouts
- Keyboard-driven
- Automatic tiling
- Space awareness
- Window floating
- Layout cycling
- GUI preferences
Install
$brew install --cask amethystAbout
xmonad-inspired with dynamic layouts. Cycle through predefined layouts (tall, wide, fullscreen, 3-column, BSP). GUI preferences make it beginner-friendly.
Who It's For
Amethyst is the accessible on-ramp to tiling window management on macOS — it's automatic, requires no config file, and ships with a graphical preferences panel. If you're curious about tiling but not ready to write shell scripts or TOML, Amethyst lets you try BSP and xmonad-style layouts without any setup beyond granting Accessibility permission. It's also the right long-term choice for users who prefer cycling through layout modes over maintaining a configuration.
How It Works
Amethyst is inspired by xmonad, which uses a collection of named layout algorithms that you cycle through at runtime. Rather than building a persistent window tree (like AeroSpace or yabai), Amethyst reflows all windows on the current space according to the active layout every time a window opens, closes, or moves.
Available layouts include: Tall (one primary window on the left, rest stacked on the right), Wide (primary on top, rest alongside), Fullscreen, Column, 3-Column, 3-Column Middle, Row, Floating, and a Binary Space Partitioning mode. You cycle forward and backward through your enabled layouts with a keyboard shortcut. You can also designate any window as the "main" pane — the large primary position — and rotate which window holds that slot.
Amethyst monitors window events natively, so the layout updates automatically when apps open or close. Individual windows can be "floated" (excluded from tiling) via the keyboard or by adding app rules in preferences.
Compared to Similar Tools
Compared to AeroSpace, Amethyst requires no config file — everything is in the GUI preferences panel. AeroSpace's tree model gives you more direct control over exactly how windows are split, while Amethyst's dynamic layout cycling is faster for users who switch between layout modes throughout the day. AeroSpace also has a proper virtual workspace system; Amethyst works within native macOS Spaces.
Compared to yabai, Amethyst is significantly easier to set up — no SIP disable, no companion hotkey daemon — but offers less scripting power. There's no CLI to query or command Amethyst from external scripts. For users who want automatic tiling without any terminal involvement, Amethyst is the answer.
Requirements
- macOS 10.14 Mojave or later
- Accessibility permission required: System Settings → Privacy & Security → Accessibility
- No SIP changes required
- Free and open-source (MIT license)
- Apple Silicon and Intel supported
Getting Started
brew install --cask amethyst
# Launch Amethyst from /Applications
# Grant Accessibility permission when prompted — tiling won't work without it
After launch, Amethyst starts tiling immediately with the default Tall layout. Open Amethyst Preferences from the menu bar icon to enable/disable specific layouts, customize keyboard shortcuts, add floating app rules, and configure gaps. The layout cycle key (default ⌥⇧Space) and the focus/throw shortcuts are the core keys to learn first.