Amethyst: An Automatic Tiling Window Manager for macOS

Summary
Amethyst is an open-source tiling window manager for macOS, inspired by the popular xmonad. It automatically arranges application windows, significantly enhancing productivity by eliminating the need for manual resizing and positioning. This powerful tool offers various customizable layouts and keyboard shortcuts for efficient workspace management on your Mac.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Amethyst is a highly-regarded, open-source tiling window manager designed specifically for macOS. Inspired by the functionality of xmonad on Linux, Amethyst brings a similar level of automated window organization and efficiency to Apple's desktop environment. Written in Swift, it aims to boost user productivity by intelligently arranging application windows, allowing users to focus on their tasks rather than window management. With over 16,000 stars on GitHub, Amethyst is a popular choice for those seeking a more streamlined and keyboard-driven workflow on macOS.
Installation
Getting Amethyst up and running on your macOS system is straightforward. Please note that Amethyst is supported on macOS 10.15 (Catalina) and newer.
You can install Amethyst using Homebrew Cask:
brew install --cask amethyst
Alternatively, you can download the latest release directly from the Amethyst releases page.
Usage and Configuration
After installation, Amethyst requires a few initial setup steps to function correctly. You must grant Amethyst permissions to use the accessibility APIs in your macOS Privacy & Security settings (Privacy -> Accessibility).
It is also highly recommended to disable "Automatically rearrange Spaces based on most recent use" in Mission Control settings, as this can interfere with Amethyst's predictable window placement. This can be done via System Preferences or by running the following command in your terminal:
defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock
Amethyst operates through a system of customizable keyboard shortcuts and various window layouts. Key shortcuts allow you to cycle through layouts, move focus between windows, swap windows, and adjust pane sizes. For instance, mod1 + space cycles layouts forward, and mod1 + j/k moves focus between windows.
Amethyst offers a wide array of layouts to suit different workflows, including:
- Tall: A main pane on the left, with other windows stacked on the right.
- Wide: A main pane on the top, with other windows stacked on the bottom.
- Fullscreen: The focused window takes up the entire screen.
- Column: Each window occupies its own column, spanning the full height.
- Binary Space Partitioning (BSP): Recursively splits panes to fill available space.
- Floating: Allows manual movement and resizing, temporarily deactivating tiling.
You can customize keyboard shortcuts and layout preferences via Amethyst's configuration file (YAML) in your home directory, which overrides GUI settings.
Why Use Amethyst?
Amethyst transforms your macOS workspace into a highly efficient and organized environment. By automating window placement and resizing, it significantly reduces the time and effort spent on manual window management. This leads to a substantial boost in productivity, especially for users who prefer a keyboard-centric approach. Its diverse range of layouts caters to various tasks and screen configurations, providing flexibility while maintaining order. For developers, writers, or anyone who juggles multiple applications, Amethyst offers a clean, predictable, and powerful way to manage their digital space.
Links
- GitHub Repository: https://github.com/ianyh/Amethyst
- Releases Page: https://github.com/ianyh/Amethyst/releases
- Discussions: https://github.com/ianyh/Amethyst/discussions