| `mode` | string | | Selects one of the preconfigured display modes. This is an equivalent of the [`sway-bar(5)`](https://github.com/swaywm/sway/blob/master/sway/sway-bar.5.scd) `mode` command and supports the same values: `dock`, `hide`, `invisible`, `overlay`. <br>Note: `hide` and `invisible` modes may be not as useful without Sway IPC. |
| `modifier-reset` | string | `press` | Defines the timing of modifier key to reset the bar visibility. To reset the visibility of the bar with the press of the modifier key use `press`. Use `release` to reset the visibility upon the release of the modifier key and only if no other action happened while the key was pressed. This prevents hiding the bar when the modifier is used to switch a workspace, change binding mode or start a keybinding. |
| `exclusive` | bool | `true` | Option to request an exclusive zone from the compositor. Disable this to allow drawing application windows underneath or on top of the bar. <br>Disabled by default for `overlay` layer. |
| `fixed-center` | bool | `true` | Prefer fixed center position for the `modules-center` block. The center block will stay in the middle of the bar whenever possible. It can still be pushed around if other blocks need more space. <br>When false, the center block is centered in the space between the left and right block. |
| `passthrough` | bool | `false` | Option to pass any pointer events to the window under the bar. <br>Intended to be used with either `top` or `overlay` layers and without exclusive zone. <br>Enabled by default for `overlay` layer. |
| `gtk-layer-shell` | bool | `true` | Option to disable the use of gtk-layer-shell for popups. Only functional if compiled with gtk-layer-shell support. |
| `ipc` | bool | `false` | Option to subscribe to the Sway IPC bar configuration and visibility events and control waybar with `swaymsg bar` commands. <br>Requires `bar_id` value from sway configuration to be either passed with the `-b` commandline argument or specified with the `id` option. <br>See [#1244](https://github.com/Alexays/Waybar/pull/1244) for the documentation and configuration examples. |
| `id` | string | | `bar_id` for the Sway IPC. Use this if you need to override the value passed with the `-b bar_id` commandline argument for the specific bar instance. |
| `include` | array | | Paths to additional configuration files. <br>Each file can contain a single object with any of the bar configuration options. In case of duplicate options, the first defined value takes precedence, i.e. including file -> first included file -> etc. Nested includes are permitted, but make sure to avoid circular imports. <br>For a multi-bar config, the `include` directive affects only current bar configuration object. |