Amethyst will pick up a config file located at ~/.amethyst.yml
or ~/.config/amethyst/amethyst.yml
in this order. A sample can be found at /.amethyst.sample.yml
Key | Description |
---|---|
layouts |
Ordered list of layouts to use by layout key (default tall, wide, fullscreen, and column). |
mod1 |
First mod (default option + shift). |
mod2 |
Second mod (default option + shift + control). |
mod3 |
Third mod (not used by default). |
mod4 |
Fourth mod (not used by default). |
window-max-count |
The max number of windows that may be visible on a screen at one time before additional windows are minimized. A value of 0 disables the feature. |
window-margins |
Boolean flag for whether or not to add margins between and around windows (default false ). |
smart-window-margins |
Boolean flag for whether or not to set window margins if there is only one window on the screen, assuming window margins are enabled (default false ). |
window-margin-size |
The size of the margins between and around windows (in px, default 0 ). |
window-minimum-height |
The smallest height that a window can be sized to regardless of its layout frame (in px, default 0 ). |
window-minimum-width |
The smallest width that a window can be sized to regardless of its layout frame (in px, default 0 ) |
floating |
List of bundle identifiers for applications to either be automatically floating or automatically tiled based on floating-is-blacklist (default [] ). |
floating-is-blacklist |
Boolean flag determining behavior of the floating list. true if the applications should be floating and all others tiled. false if the applications should be tiled and all others floating (default true ). |
ignore-menu-bar |
true if screen frames should exclude the status bar. false if the screen frames should include the status bar (default false ). |
float-small-windows |
true if windows smaller than a 500px square should be floating by default (default true ) |
mouse-follows-focus |
true if the mouse should move position to the center of a window when it becomes focused (default false ). Note that this is largely incompatible with focus-follows-mouse . |
focus-follows-mouse |
true if the windows underneath the mouse should become focused as the mouse moves (default false ). Note that this is largely incompatible with mouse-follows-focus |
mouse-swaps-windows |
true if dragging and dropping windows on to each other should swap their positions (default false ). |
mouse-resizes-windows |
true if changing the frame of a window with the mouse should update the layout to accommodate the change (default false ). Note that not all layouts will be able to respond to the change. |
enables-layout-hud |
true to display the name of the layout when a new layout is selected (default true ). |
enables-layout-hud-on-space-change |
true to display the name of the layout when moving to a new space (default true ). |
use-canary-build |
true to get updates to beta versions of the software (default false ). |
new-windows-to-main |
true to insert new windows into the first position and false to insert new windows into the last position (default false ). |
follow-space-thrown-windows |
true to automatically move to a space when throwing a window to it (default true ). |
window-resize-step |
The integer percentage of the screen dimension to increment and decrement main pane ratios by (default 5 ). |
screen-padding-left |
Padding to apply between windows and the left edge of the screen (in px, default 0 ). |
screen-padding-right |
Padding to apply between windows and the right edge of the screen (in px, default 0 ). |
screen-padding-top |
Padding to apply between windows and the top edge of the screen (in px, default 0 ). |
screen-padding-bottom |
Padding to apply between windows and the bottom edge of the screen (in px, default 0 ). |
restore-layouts-on-launch |
true to maintain layout state across application executions (default true ). |
debug-layout-info |
true to display some optional debug information in the layout HUD (default false ). |
disable-padding-on-builtin-display |
true to disable screen padding on in-built display (default false ). |
hide-menu-bar-icon |
true to hide the menu bar icon (default false ). |
Commands are defined at the root of the config file, and have a mod
and a key
.
Key | Description |
---|---|
mod |
The modifier to use, either mod1 , mod2 , mod3 or mod4 . |
key |
The key on the keyboard to use. |
A mod is a list of keyboard modifiers. Namely, option
, control
, shift
, and command
.
Command | Description |
---|---|
cycle-layout |
Move to the next layout in the list. |
cycle-layout-backward |
Move to the previous layout in the list. |
shrink-main |
Shrink the main pane by a percentage of the screen dimension as defined by window-resize-step . Note that not all layouts respond to this command. |
expand-main |
Expand the main pane by a percentage of the screen dimension as defined by window-resize-step . Note that not all layouts respond to this command. |
increase-main |
Increase the number of windows in the main pane. Note that not all layouts respond to this command. |
decrease-main |
Decrease the number of windows in the main pane. Note that not all layouts respond to this command. |
command1 |
General purpose command for custom layouts. Functionality is layout-dependent. |
command2 |
General purpose command for custom layouts. Functionality is layout-dependent. |
command3 |
General purpose command for custom layouts. Functionality is layout-dependent. |
command4 |
General purpose command for custom layouts. Functionality is layout-dependent. |
focus-ccw |
Focus the next window in the list going counter-clockwise. |
focus-cw |
Focus the next window in the list going clockwise. |
focus-main |
Focus the main window in the list. |
focus-screen-ccw |
Focus the next screen in the list going counter-clockwise. |
focus-screen-cw |
Focus the next screen in the list going clockwise. |
swap-screen-ccw |
Move the currently focused window onto the next screen in the list going counter-clockwise. |
swap-screen-cw |
Move the currently focused window onto the next screen in the list going clockwise. |
swap-ccw |
Swap the position of the currently focused window with the next window in the list going counter-clockwise. |
swap-cw |
Swap the position of the currently focused window with the next window in the list going clockwise. |
swap-main |
Swap the position of the currently focused window with the main window in the list. |
focus-screen-n |
Move focus to the n-th screen in the list; e.g., focus-screen-3 will move mouse focus to the 3rd screen. Note that the main window in the given screen will be focused. |
throw-screen-n |
Move the currently focused window to the n-th screen; e.g., throw-screen-3 will move the window to the 3rd screen. |
throw-space-n |
Move the currently focused window to the n-th space; e.g., throw-space-3 will move the window to the 3rd space. |
throw-space-left |
Move the currently focused window to the space to the left. |
throw-space-right |
Move currently the focused window to the space to the right. |
toggle-float |
Toggle the floating state of the currently focused window; i.e., if it was floating make it tiled and if it was tiled make it floating. |
display-current-layout |
Display the layout HUD with the current layout on each screen. |
toggle-tiling |
Turn on or off tiling entirely. |
reevaluate-windows |
Rerun the current layout's algorithm. |
toggle-focus-follows-mouse |
Turn on or off focus-follows-mouse . |
relaunch-amethyst |
Automatically quit and reopen Amethyst. |
Amethyst supports defining shortcuts for selecting specific layouts directly. They take the form of select-${layout_key}-layout
. For example, defining the command select-tall-layout
will define a shortcut that when used will switch directly to the Tall layout. Note, this works for custom layouts as well.