# ianyh/Amethyst

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ianyh-amethyst).**

16,009 stars · 511 forks · Swift · mit

## Links

- GitHub: https://github.com/ianyh/Amethyst
- Homepage: https://ianyh.com/amethyst/
- awesome-repositories: https://awesome-repositories.com/repository/ianyh-amethyst.md

## Topics

`mac` `macos` `window-manager` `xmonad`

## Description

Amethyst is a tiling window manager for macOS designed to automate the arrangement of application windows. It functions as a productivity utility that organizes windows into non-overlapping layouts, allowing users to manage their desktop environment through keyboard-driven controls rather than manual mouse interaction.

The application distinguishes itself by providing a state-machine engine that calculates window geometry based on user-defined tiling patterns. It maintains an accurate representation of the desktop by monitoring system-level notifications for window events, enabling it to automatically reposition frames and manage focus across multiple monitors and virtual spaces.

Beyond its core tiling capabilities, the software supports granular control over window behavior, including the ability to toggle between tiled and floating states. Users can navigate between windows, swap positions, and cycle through various layout configurations using custom keyboard shortcuts.

## Tags

### Operating Systems & Systems Programming

- [Tiling Window Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers.md) — Provides automated tiling window management specifically for the macOS desktop environment.
- [Floating Window Management](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/floating-window-management.md) — Supports toggling individual windows between tiled and floating states. ([source](https://ianyh.com/amethyst/))
- [Layout Pattern Switchers](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/layout-pattern-switchers.md) — Allows switching between various window arrangement patterns to adapt the workspace to different tasks.
- [Layout Cycling Engines](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/layout-cycling-engines.md) — Enables switching between various tiling patterns and customizing the rotation sequence. ([source](https://ianyh.com/amethyst/))

### Development Tools & Productivity

- [Window Managers](https://awesome-repositories.com/f/development-tools-productivity/window-managers.md) — Provides keyboard-driven control for navigating, resizing, and positioning windows.
- [Focus Navigation Controllers](https://awesome-repositories.com/f/development-tools-productivity/window-managers/focus-navigation-controllers.md) — Facilitates navigation between windows and screens using keyboard commands. ([source](https://ianyh.com/amethyst/))
- [Global Input Listeners](https://awesome-repositories.com/f/development-tools-productivity/global-input-listeners.md) — Captures system-wide keyboard events to trigger layout changes regardless of active application focus.

### User Interface & Experience

- [Window Managers](https://awesome-repositories.com/f/user-interface-experience/window-managers.md) — Enables keyboard-driven navigation, resizing, and swapping of window positions.
- [Tiling Layout Engines](https://awesome-repositories.com/f/user-interface-experience/constraint-layout-engines/tiling-layout-engines.md) — Calculates window geometry using tiling algorithms to determine final frame positions.
- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Enables keyboard-based navigation and movement of windows to maintain productivity. ([source](https://ianyh.com/amethyst/))
- [Accessibility-Based Window Manipulators](https://awesome-repositories.com/f/user-interface-experience/application-window-managers/accessibility-based-window-manipulators.md) — Uses accessibility APIs to programmatically reposition application windows on the desktop.
- [Layout Configuration Utilities](https://awesome-repositories.com/f/user-interface-experience/window-managers/layout-configuration-utilities.md) — Allows users to adjust window pane distribution and size using keyboard shortcuts. ([source](https://ianyh.com/amethyst/))

### Business & Productivity Software

- [Multi-Monitor Workspace Managers](https://awesome-repositories.com/f/business-productivity-software/desktop-workspace-organizers/macos-workspace-managers/multi-monitor-workspace-managers.md) — Manages complex desktop environments by distributing windows across multiple screens and virtual spaces.
- [Virtual Desktop Organizers](https://awesome-repositories.com/f/business-productivity-software/desktop-workspace-organizers/virtual-desktop-organizers.md) — Organizes tasks across multiple virtual desktop spaces to keep related windows grouped together. ([source](https://ianyh.com/amethyst/))
