ianyh / Amethyst
Automatic tiling window manager for macOS à la xmonad.
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing ianyh/Amethyst in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewAmethyst Tiling window manager for macOS along the lines of xmonad. If you want to learn more about tiling window managers and the features of Amethyst there are some great community resources on YouTube. Boost your MacOS PRODUCTIVITY with Amethyst | Tiling Window Manager Getting Amethyst Amethyst is available for direct download on the releases page or using homebrew cask. Note: that Amethyst now is only supported on macOS 10.15+. Using Amethyst Amethyst must be given permissions to use the accessibility APIs in the Privacy & Security tab, Privacy -> Accessibilty. **_Important note_**: You will probably want to disable (found under Mission Control in System Preferences). This setting is enabled by default, and will cause your Spaces to swap places based on use. This makes keyboard navigation between Spaces unpredictable. or run in a terminal: Troubleshooting See Troubleshooting for some common issues. Configuration Keyboard Shortcuts Amethyst uses two modifier combinations ( and ) and can optionally use another two ( and ). | Default Shortcut | Description | |---|---| | | | | | | | | not defined by default | | | not defined by default | And defines the following commands, mostly a mapping to xmonad key combinations. | Default Shortcut | Description | |---|---| | | Cycle layout forward | | | Cycle layout backwards | | | Shrink the main pane | | | Expand the main pane | | | Increase main pane count | | | Decrease main pane count | | | Move focus counter clockwise | | | Move focus clockwise | | | Move focus to counter clockwise screen | | | Move focus to clockwise screen | | | Swap focused window to counter clockwise screen | | | Swap focused window to clockwise screen | | | Swap focused window counter clockwise | | | Swap focused window clockwise | | | Swap focused window with main window | | | Force windows to be reevaluated | | | Relaunch Amethyst | | | Throw focused window to space left | | | Throw focused window to space right | | | Throw focused window to space 1 | | | Throw focused window to space 2 | | | Throw focused window to space 3 | | | Throw focused window to space 4 | | | Throw focused window to space 5 | | | Throw focused window to space 6 | | | Throw focused window to space 7 | | | Throw focused window to space 8 | | | Throw focused window to space 9 | | | Throw focused window to space 10 | | | Throw focused window to space 11 | | | Throw focused window to space 12 | | | Throw focused window to space 13 | | | Throw focused window to space 14 | | | Throw focused window to space 15 | | | Throw focused window to space 16 | | | Focus Screen 1 | | | Throw focused window to screen 1 | | | Focus Screen 2 | | | Throw focused window to screen 2 | | | Focus Screen 3 | | | Throw focused window to screen 3 | | | Focus Screen 4 | | | Throw focused window to screen 4 | | | Focus Screen 5 | | | Throw focused window to screen 5 | | | Toggle float for focused window | | | Display current layout | | | Toggle global tiling | | | Select tall layout | | | Select tall-right layout | | | Select wide layout | | | Select middle-wide layout | | | Select fullscreen layout | | | Select column layout | | | Select row layout | | | Select floating layout | | | Select widescreen-tall layout | | | Select bsp layout | Available Layouts Amethyst allows you to cycle among several different window layouts. Layouts can also be enabled/disabled to control whether they appear in the cycle sequence at all. Tall The default layout. This gives you one "main pane" on the left, and one other pane on the right. By default, one window is placed in the main pane (extending the full height of the screen), and all remaining windows are placed in the other pane. If either pane has more than one window, that pane will be evenly split into rows, to show them all. You can use the keyboard shortcuts above to control which window(s), and how many, are in the main pane, as well as the horizontal size of the main pane vs. the other pane. Tall-Right Exactly the same as *Tall*, but the main pane is on the right, with the other pane on the left. Wide The rotated version of *Tall*, where the main pane is on the _top_ (extending the full width of the screen), and the other pane is on the bottom. If either pane has more than one window, that pane will split into columns instead of rows. Two Pane This layout has two visible panes - the main and the secondary pane. The window in the main pane is pinned, just like in other layouts, and all the remaining windows are placed in the other pane with only one window being visible at a time, which can be swapped (using the keyboard shortcuts). This layout automatically adapts to horizontal/vertical tiling depending on your screen orientation. The main pane is on the left in the horizontal orientation and it's on the top in the vertical orientation. Two Pane Right Exactly the same as *Two Pane*, but the main pane is on the right, with the other pane on the left. 3Column-Left A three-column version of *Tall*, with one main pane on the left (extending the full height of the screen) and two other panes, one in the middle and one on the right. Like *Tall*, if any pane has more than one window, that pane will be split into rows. You can control how many windows are in the main pane as usual; other windows will be assigned as evenly as possible between the other two panes. 3Column-Middle Exactly like *3Column-Left*, but the main pane is in the middle, with the other panes on either side. (In previous versions of Amethyst, this layout was known as *Middle-Wide*.) 3Column-Right Exactly like *3Column-Left*, but the main pane is on the right, with the other panes in the middle and on the left. Widescreen-Tall This mode is like *Tall*, but if there are multiple windows in the main pane, the main pane splits into columns rather than rows. The other pane still splits windows into rows, like *Tall*. This layout gets its name because it probably makes the most sense on…