2026-03-16
machi - configuration schema
machi reads an INI file in order to parameterize a few things. The file should be placed in ${XDG_CONFIG_HOME}/machi/machi.ini, which is usually just ~/.config/machi/machi.ini.
See <https://en.wikipedia.org/wiki/INI_file> to learn more about INI, if needed.
Keybindings are defined as a string in the mod+...+key format. For example, if an action is desired when super, alt, shift, control and enter are pressed, the respective value would be super+ctrl+shift+alt+enter (order is irrelevant).
| Name | Type | Description | Default value |
| gap-size | number | Gap size around windows. | 8 |
| border-width | number | Border width for windows. | 4 |
| Name | Type | Description | Default value |
| theme | string | The theme to be applied. | none |
| size | number | Size of the cursor. | 24 |
| Name | Type | Description | Default value |
| background | string | Hex color for background. | 1d1f21 |
| focused-border | string | Hex color for focused borders. | a54242 |
| unfocused-border | string | Hex color for unfocused borders. | 707880 |
| Name | Type | Description | Default value |
| reload-config | string | Live-reloads the configuration file. | super+ctrl+shift+r |
| Name | Type | Description | Default value |
| cycle-next | string | Cycles to next output. | super+comma |
| cycle-prev | string | Cycles to previous output. | super+period |
| Name | Type | Description | Default value |
| cycle-next | string | Cycles to next workspace. | super+j |
| cycle-prev | string | Cycles to previous workspace. | super+k |
| add-next | string | Adds a new workspace as next in relation to the current one. | super+ctrl+j |
| add-prev | string | Adds a new workspace as previous in relation to the current one. | super+ctrl+k |
| move-to-next-output | string | Moves entire workspace to next output. | super+shift+comma |
| move-to-prev-output | string | Moves entire workspace to previous output. | super+shift+period |
| Name | Type | Description | Default value |
| cycle-next | string | Cycles to next panel. | super+l |
| cycle-prev | string | Cycles to previous panel. | super+h |
| add-next | string | Adds a new panel as next in relation to the current one. | super+ctrl+l |
| add-prev | string | Adds a new panel as previous in relation to the current one. | super+ctrl+h |
| move-to-next-workspace | string | Moves entire panel to next workspace. | super+shift+j |
| move-to-prev-workspace | string | Moves entire panel to previous workspace. | super+shift+k |
| move-to-next-new-workspace | string | Creates a new workspace as next in relation to the current one, then, moves entire panel to it. | super+ctrl+shift+j |
| move-to-prev-new-workspace | string | Creates a new workspace as previous in relation to the current one, then, moves entire panel to it. | super+ctrl+shift+k |
| toggle-split-view | string | Toggle between single view and split view modes. | super+s |
| Name | Type | Description | Default value |
| cycle-next | string | Cycles to next window. | super+n |
| cycle-prev | string | Cycles to previous window. | super+p |
| move-next | string | Shifts window pool forward. | super+shift+n |
| move-prev | string | Shifts window pool backwards. | super+shift+p |
| move-to-next-panel | string | Moves the current window to next panel. | super+shift+l |
| move-to-prev-panel | string | Moves the current window to previous panel. | super+shift+h |
| move-to-next-new-panel | string | Creates a new panel as next in relation to the current one, then, moves the current window there. | super+ctrl+shift+l |
| move-to-prev-new-panel | string | Creates a new panel as previous in relation to the current one, then, moves the current window there. | super+ctrl+shift+h |
| toggle-fullscreen | string | Toggle fullscreen mode for current window. | super+f |
| close | string | Closes current window. | super+escape |
| Name | Type | Description |
| <command> | string | Keybinding for the <command> to be spawned. |
This is a special section where property names are actually the program command that will be spawned. For example:
[keybindings.spawn] foot=super+enter fuzzel=super+space
machi(1)
Developed and maintained by Gabriel Sanches <gabriel@gsr.dev>.
Source code is located at <https://codeberg.org/machi/machi>.