Dwindle Layout
Dwindle is a BSPWM-like layout, where every window on a workspace is a member of a binary tree.
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
.
category name: dwindle
name | description | type | default | |
---|---|---|---|---|
pseudotile | enable pseudotiling. Pseudotiled windows retain their floating size when tiled. | bool | false | |
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 | |
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 | |
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. | bool | false | |
use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true | |
default_split_ratio | the default split ratio on window open. 1 means even 50/50 split. 0.1 - 1.9 | float | 1.0 |
dispatcher | description | params |
---|---|---|
pseudo | toggles the focused window’s pseudo mode | none |
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 |
preselect | A onetime override for the split direction. (valid for the next window to be opened, only works on tiled windows) | direction |
e.g.:
bind = SUPER, A, layoutmsg, preselect l