Tiling window manager for OS X similar to xmonad. Was originally written as an alternative to fjolnir's awesome xnomad but written in pure Objective-C. It's expanded to include some more features like Spaces support not reliant on fragile private APIs.
Credit goes to fjolnir for the bulk of the initial logic and structure.
Amethyst is available for direct download here or using homebrew cask.
brew cask install amethyst
- Install the latest version of XCode
- Clone the project, then
cd
to the Amethyst directory. - Install xctool
brew update && brew install xctool
- you may need to accept all XCode licenses, e.g.
sudo xcodebuild -license
- Install cocoapods
gem install cocoapods
- you may need to
exec zsh
or similar for this command to be found, if using rbenv.
rake install
cp Amethyst/default.amethyst ~/.amethyst
The Enable access for assistive devices
option on the Accessibility
preferences pane must be enabled for Amethyst to function.
Amethyst uses two modifier combinations.
mod1
-option + shift
mod2
-ctrl + option + shift
And defines the following commands, mostly a mapping to xmonad key combinations.
mod1 + space
— change layoutmod1 + w
- focus 1st screenmod1 + e
- focus 2nd screenmod1 + r
- focus 3rd screenmod2 + w
- move focused window to 1st screenmod2 + e
- move focused window to 2nd screenmod2 + r
- move focused window to 3rd screenmod2 + [n]
- move focused window to nth spacemod1 + h
- shrink the main panemod1 + l
- expand the main panemod1 + ,
- increase the number of windows in the main panemod1 + .
- decrease the number of windows in the main panemod1 + j
- focus the next window counterclockwisemod1 + k
- focus the next window clockwisemod2 + j
- move the focused window one space counterclockwisemod2 + k
- move the focused window one space clockwisemod1 + return
- swap the focused window with the main windowmod1 + t
- toggle whether or not the focused window is floating
Spaces are, unfortunately, not supported right out of the box. To enable it you
must activate Mission Control's keyboard shortcuts for switching to specific
Desktops, as Mac OS X calls them. This option is in the Keyboard Shortcuts tab
of the Keyboard preferences pane. The shortcuts will be of the form ctrl + [n]
. Amethyst is only able to send a window to the n
th space if the shortcut
ctrl + n
is enabled.
Amethyst can be customized by creating a json file called .amethyst
in your home directory. The structure and valid keys and whatnot are all defined in Amethyst/default.amethyst
.