Our take
- Activity
- 48
- Community
- 58
- Issues
- 47
- Pull requests
- 26
+19 stars in the last 10 days
- More contributors than 75% of the projects we track
- Slower to merge pull requests than 98% of the projects we track
Overview
Amethyst automatically arranges macOS application windows into configurable tiling layouts. Instead of manually positioning and resizing each window, users can organize a workspace around a main pane, columns, rows, fullscreen windows, or other layouts.
It is aimed at people who prefer keyboard-driven window management, especially users familiar with tiling managers such as xmonad. It can be useful for focused work across multiple windows, displays, or Spaces, but is less suited to workflows that depend on freely overlapping windows.
Key Features
- Automatically tiles application windows using selectable layouts.
- Offers layouts including Tall, Wide, Column, Row, Fullscreen, Floating, and Binary Space Partitioning.
- Provides shortcuts to move focus, resize the main pane, change layouts, and rearrange windows.
- Supports sending windows between screens and macOS Spaces.
- Allows users to configure shortcuts and settings through the GUI or a YAML configuration file.
- Supports custom layouts implemented in JavaScript, described as beta in the README.
Use Cases
- Developers who keep an editor, terminal, and documentation visible and want them arranged without manual resizing.
- Keyboard-focused Mac users who want to navigate windows and screens without reaching for the mouse.
- People using multiple monitors or Spaces who want shortcuts for moving windows between them.
- Users who want to switch between structured tiling and a floating layout for tasks that need overlapping windows.
Getting Started
Install with Homebrew Cask:
brew install --cask amethyst
Amethyst requires Accessibility permission to manage windows. See the README for setup, configuration, and troubleshooting details.
Alternatives
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| Amethyst | Swift | MIT | 16.3k | Not checked yet |
| yabai | C | MIT | 29.7k | Quiet |
| AeroSpace | Swift | MIT | 23.3k | Active |
Considerations
- The README states that Amethyst is supported on macOS 10.15 and later.
- It needs macOS Accessibility permission to control windows.
- macOS Spaces settings can affect predictable navigation. The README recommends disabling automatic rearrangement of Spaces.
- Custom JavaScript layouts are marked beta.
- Tiling changes how windows are positioned, so users who rely on freely overlapping windows may need to use the Floating layout or another workflow.
Found this useful?
Share it with someone who would like Amethyst.