hyprland-wiki/pages/Configuring/Dwindle-Layout.md

47 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

2022-08-13 21:16:31 +02:00
Dwindle is a BSPWM-like layout, where every window on a workspace is a member
2022-08-13 01:47:48 +02:00
of a binary tree.
2022-08-12 20:46:36 +02:00
# Quirks
Dwindle splits are NOT PERMANENT. The split is determined dynamically with the
W/H ratio of the parent node. If W > H, it's side-by-side. If H > W, it's
top-and-bottom. You can make them permanent by enabling `preserve_split`.
# Config
category name: `dwindle`
2022-08-13 17:54:31 +02:00
| name | description | type | default |
|---|---|---|---|
2022-10-16 23:03:01 +02:00
| pseudotile | enable pseudotiling. Pseudotiled windows retain their floating size when tiled. | bool | false |
2022-08-13 17:54:31 +02:00
| force_split | 0 -> split follows mouse, 1 -> always split to the left (new = left or top) 2 -> always split to the right (new = right or bottom) | int | 0 |
| preserve_split | if enabled, the split (side/top) will not change regardless of what happens to the container. | bool | false |
| smart_split | if enabled, allows a more precise control over the window split direction based on the cursor's position. The window is conceptually divided into four triangles, and cursor's triangle determines the split direction. This feature also turns on preserve_split. | bool | false |
| smart_resizing | if enabled, resizing direction will be determined by the mouse's position on the window (nearest to which corner). Else, it is based on the window's tiling position. | bool | true |
2023-05-06 02:43:46 +02:00
| permanent_direction_override | if enabled, makes the preselect direction persist until either this mode is turned off, another direction is specified, or a non-direction is specified (anything other than l,r,u/t,d/b) | bool | false |
2022-08-13 17:54:31 +02:00
| special_scale_factor | 0 - 1 -> specifies the scale factor of windows on the special workspace | float | 0.8 |
| split_width_multiplier | specifies the auto-split width multiplier | float | 1.0 |
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. (default: disabled - 0) no border - 1, with border - 2 | int | 0 |
2022-08-19 22:04:31 +02:00
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
2023-03-07 15:25:27 +01:00
| default_split_ratio | the default split ratio on window open. 1 means even 50/50 split. 0.1 - 1.9 | float | 1.0 |
2022-08-12 20:46:36 +02:00
# Bind Dispatchers
2022-08-12 20:46:36 +02:00
2022-08-13 17:54:31 +02:00
| dispatcher | description | params |
|---|---|---|
| pseudo | toggles the focused window's pseudo mode | none |
2023-05-15 02:21:55 +02:00
# Layout messages
Dispatcher `layoutmsg` params:
| param | description | args |
|---|---|---|
| togglesplit | toggles the split (top/side) of the current window. `preserve_split` must be enabled for toggling to work. | none |
2023-05-06 02:43:46 +02:00
| preselect | A onetime override for the split direction. (valid for the next window to be opened, only works on tiled windows) | direction |
2023-05-15 02:21:55 +02:00
e.g.:
```ini
bind = SUPER, A, layoutmsg, preselect l
```