# Amethyst — Automatic Tiling Window Manager for macOS > An open-source tiling window manager for macOS that automatically arranges application windows into non-overlapping layouts using keyboard shortcuts. ## Install Save as a script file and run: # Amethyst — Automatic Tiling Window Manager for macOS ## Quick Use ```bash brew install --cask amethyst # Launch Amethyst, grant Accessibility permissions # Shift+Option+Space → cycle layouts # Shift+Option+J/K → move focus between windows ``` ## Introduction Amethyst is an automatic tiling window manager for macOS inspired by xmonad. Instead of manually dragging and resizing windows, Amethyst automatically arranges all open windows into a chosen layout pattern, keeping the screen organized without overlapping. ## What Amethyst Does - Automatically tiles all windows into non-overlapping layouts - Offers multiple layout algorithms: tall, wide, fullscreen, column, and more - Switches layouts on the fly with keyboard shortcuts - Moves and resizes windows across multiple monitors - Assigns specific layouts to individual Spaces ## Architecture Overview Amethyst is a native Swift application that hooks into the macOS Accessibility API to observe window creation, destruction, and focus changes. When a window event fires, the active layout algorithm recalculates positions for all managed windows and applies the new frames. Layout state is maintained per-Space, and user preferences are stored in a plist or YAML configuration file. ## Self-Hosting & Configuration - Install via Homebrew: `brew install --cask amethyst` or download from the website - Requires macOS 12 or later with Accessibility permissions enabled - Configure keyboard shortcuts and layouts in the Preferences panel - Use a `.amethyst.yml` file in your home directory for version-controlled config - Exclude specific applications from tiling via the floating list ## Key Features - Multiple built-in layouts including tall, wide, 3-column, widescreen-tall, and binary space partition - Per-Space layout memory that persists across layout switches - Mouse-follows-focus option for multi-monitor setups - Window margin and padding controls for visual spacing - Fully customizable keyboard shortcuts via config file ## Comparison with Similar Tools - **Rectangle** — Manual snap-based window management; Amethyst is automatic tiling - **Yabai** — Scriptable tiling WM with more features but requires partial SIP disabling - **Magnet** — Paid manual snapping tool from the Mac App Store - **i3/Sway** — Linux tiling WMs; Amethyst brings a similar philosophy to macOS - **AeroSpace** — Newer macOS tiling WM with i3-inspired tree-based layout model ## FAQ **Q: Does Amethyst work with Stage Manager?** A: Stage Manager changes how macOS manages window groups, which can conflict with Amethyst's tiling. Most users disable Stage Manager when using Amethyst. **Q: Can I float specific windows?** A: Yes. Press the float shortcut on any window to remove it from the tiling layout, or add the application to the permanent floating list in preferences. **Q: Does it work with multiple monitors?** A: Yes. Each monitor manages its own set of tiled windows independently, and shortcuts let you throw windows between screens. **Q: How does Amethyst differ from Yabai?** A: Amethyst is a pure Accessibility API app with no system modifications needed. Yabai offers more control (window opacity, borders, stacking) but requires disabling parts of System Integrity Protection for full functionality. ## Sources - https://github.com/ianyh/Amethyst - https://ianyh.com/amethyst/ --- Source: https://tokrepo.com/en/workflows/asset-f8e33811 Author: Script Depot