HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ianyh
Amethyst
Swift2013–2025
ianyh / Amethyst

Amethyst

Automatic tiling window manager for macOS à la xmonad.

82Distinct people
107Mentions
6Explicit recommenders
16.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Automatic tiling window manager for macOS à la xmonad.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I use Amethyst https://github.com/ianyh/Amethyst in my day to day. Slightly different management philosophy but one that works well for me.

mystickphoenix used a recommendation phrase. 6 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 9:01:12 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year107 dated mentions

Observed mentions: 2013-10-19 11:47:23 UTC to 2025-08-23 07:52:03 UTC.

0510152013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 15 mentions; 1 submissions, 14 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 12 mentions; 1 submissions, 11 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 13 mentions; 0 submissions, 13 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 14 mentions; 2 submissions, 12 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC615
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC15114
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC12111
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC303
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC12012
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC404
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC13013
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC707
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC10010
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC14212
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC808
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Amethyst 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. brew install --cask amethyst 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 Automatically rearrange Spaces based on most recent use (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: defaults write com.apple.dock workspaces-auto-swoosh -bool NO killall Dock Troubleshooting See Troubleshooting for some common issues. Configuration Keyboard Shortcuts Amethyst uses two modifier combinations (mod1 and mod2) and can optionally use another two (mod3 and mod4). Default Shortcut Description mod1 option + shift mod2 ctrl + option + shift mod3 not defined by default mod4 not defined by default And defines the following commands, mostly a mapping to xmonad key combinations. Default Shortcut Description mod1 + space Cycle layout forward mod2 + space Cycle layout backwards mod1 + h Shrink the main pane mod1 + l Expand the main pane mod1 + , Increase main pane count mod1 + . Decrease main pane count mod1 + j Move focus counter clockwise mod1 + k Move focus clockwise mod1 + p Move focus to counter clockwise screen mod1 + n Move focus to clockwise screen mod2 + h Swap focused window to counter clockwise screen mod2 + l Swap focused window to clockwise screen mod2 + j Swap focused window counter clockwise mod2 + k Swap focused window clockwise mod1 + enter Swap focused window with main window mod1 + z Force windows to be reevaluated mod2 + z Relaunch Amethyst mod2 + left Throw focused window to space left mod2 + right Throw focused window to space right mod2 + 1 Throw focused window to space 1 mod2 + 2 Throw focused window to space 2 mod2 + 3 Throw focused window to space 3 mod2 + 4 Throw focused window to space 4 mod2 + 5 Throw focused window to space 5 mod2 + 6 Throw focused window to space 6 mod2 + 7 Throw focused window to space 7 mod2 + 8 Throw focused window to space 8 mod2 + 9 Throw focused window to space 9 mod2 + 0 Throw focused window to space 10 none Throw focused window to space 11 none Throw focused window to space 12 none Throw focused window to space 13 none Throw focused window to space 14 none Throw focused window to space 15 none Throw focused window to space 16 mod1 + w Focus Screen 1 mod2 + w Throw focused window to screen 1 mod1 + e Focus Screen 2 mod2 + e Throw focused window to screen 2 mod1 + r Focus Screen 3 mod2 + r Throw focused window to screen 3 mod1 + q Focus Screen 4 mod2 + q Throw focused window to screen 4 mod1 + g Focus Screen 5 mod2 + g Throw focused window to screen 5 mod1 + t Toggle float for focused window mod1 + i Display current layout mod2 + t Toggle global tiling mod1 + a Select tall layout none Select tall-right layout mod1 + s Select wide layout none Select middle-wide layout mod1 + d Select fullscreen layout mod1 + f Select column layout none Select row layout none Select floating layout none Select widescreen-tall layout none 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-
Read the full README on GitHub

What Hacker News says

12 sources
At a guess, I would expect kwm to be faster, but probably less far along than Amethyst in terms of features/stability. It's been a long time since I've actually written any C++, but briefly looking through the code it looks like it's making some of the same assumptions I made that resulted in some strange problems like the dreaded fullscreen bug (https://github.com/ianyh/Amethyst/issues/254). That said, some of those assumptions were made 3 OS X versions ago so things might have improved. It does, however, look a lot lighter weight than Amethyst is, and it looks like it does a better job at aggressively caching. It also supports binary space partitioning, which Amethyst doesn't support yet (https://github.com/ianyh/Amethyst/issues/255). If I'm reading it correctly, though, that's the only thing it supports. All in all, it seems like a gre
Read the rest
at project. We could probably learn some things from each other, and I expect both projects would be the better for it.
In Kwm, tiling window manager for OS X
girvo·Aug 16, 2015Recommendation phrase
I agree, which is why I absolutely adore Amethyst[0]. It is a "clone", if you will, of xmonad -- it's automatic, and keyboard shortcut driven entirely. No menu bar icon needed -- all windows snap to the grid to fill the screen by default, you can adjust the sizes on the fly, you can swap layouts with a single shortcut and viola! I highly recommend it, it used to be quite buggy but I've had zero issues in the last few months. @ianyh is an amazing developer! [0] https://github.com/ianyh/Amethyst
In Terminal Window Manager for OS X
On a serious note: if you need automatic window tiling in OS X, you should check out Amethyst [0] (available via homebrew cask). I mention this everywhere I can because I spent a lot of time searching for and testing various window management software for OS X myself, and Amethyst is only easy, fully functional alternative I've found that works out of the box. [0]: https://github.com/ianyh/Amethyst
In Apple OS X El Capitan
Homebrew and pretty much anything else that lets the *NIX of OS X shine through. Check out Github's tools as they seem to use OS X heavily. Homebrew - http://brew.sh/ Also the ~/.osx dotfiles in this repo (https://github.com/mathiasbynens/dotfiles) are quite handy especially space order locking. That used to drive me mad. Finally Amethyst (https://github.com/ianyh/Amethyst) is still a lil buggy but so nice to have. If you want to go the 'more OS X route' check out BetterTouchTool instead.
In Ask HN: What's THE way to setup a OS X dev machine 2015?
I don't really know if there is a good way to get up to speed with the OS, other than just using it. Familiarity will come with experience; At least I've always found that the best way to get familiarized with a new OS (or any software) is to acknowledge that I will probably not be as effective during the inevitable period of adjustment, and try to perform tasks that I knew how to perform with the preceding tool. Here is a short list of various software on my mac I find very useful: - AppCleaner (http://www.freemacsoft.net/appcleaner/): Removes files and preferences associated with applications you wish to uninstall. - Amethyst (https://github.com/ianyh/Amethyst): The only fully functional dynamic tiling window manager I've found that works well under OS X. - f.lux (https://justgetflux.com): Change display color temperature accordin
Read the rest
g to time of day. - Moom (http://manytricks.com/moom/) [or Divvy/SizeUp/...]: Manage, move and resize window with keyboard. - Menumate (http://zipzapmac.com/menumate): Trigger menu bar with hotkey. - Shortcat (https://shortcatapp.com): Goto anything on the screen via keyboard, sort of a fuzzy finder for the UI, - iTerm2 (http://iterm2.com): Alternative terminal emulator. - MAMP (http://www.mamp.info/en/ Apache, MySQL and PHP stack. - Coda (https://panic.com/coda/): Very nice editor, particularly for frontend webdev, as it includes page preview functionality, as well as some other tools. Alternatively, your editor of choice. - Cakebrew (https://www.cakebrew.com): GUI for homebrew. You should also check out brew cask (http://caskroom.io), which enables you to install binaries via homebrew. P.S. As your question is very broad indeed, I think you might get more responses if you asked a few narrower questions or described some specific problem.
In Ask HN: OS X first-timer

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.