Hyprland Wiki
Contribute to the Wiki!Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Dwindle Layout

Dwindle is a BSPWM-like layout, where every window on a workspace is a member of a binary tree.

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.

Grouped (tabbed) windows

Dwindle allows you to make a group with the togglegroup bind dispatcher, and cycle through it with changegroupactive.

A group is like i3wm’s “tabbed” container. It takes the space of one window, and you can change the window to the next one in the tabbed “group”.

When creating the group, a group will be made from the current active window, and all children (recursively!) of the parent node. The new group’s border colors are configurable with the appropriate col. settings in the config section below.

Grouping example (make, add, toggle, remove)

groupExampleSmaller

Closing windows within the groups is allowed, however, since the groups in the backend are still a tree, if you remove a node that makes the original node container get removed, the group will be broken back to its dwindle form.

Config

category name: dwindle

namedescriptiontypedefault
pseudotileenable pseudotiling. Pseudotiled windows retain their floating size when tiled.boolfalse
col.group_borderinactive (out of focus) group border colorcolor0x66777700
col.group_border_activeactive group border colorcolor0x66ffff00
force_split0 -> split follows mouse, 1 -> always split to the left (new = left or top) 2 -> always split to the right (new = right or bottom)int0
preserve_splitif enabled, the split (side/top) will not change regardless of what happens to the container.boolfalse
special_scale_factor0 - 1 -> specifies the scale factor of windows on the special workspacefloat0.8
split_width_multiplierspecifies the auto-split width multiplierfloat1.0
no_gaps_when_onlywhether to apply gaps when there is only one window on a workspace, aka. smart gaps.boolfalse
use_active_for_splitswhether to prefer the active window or the mouse position for splitsbooltrue

Bind Dispatchers

dispatcherdescriptionparams
togglegrouptoggles the current window and its siblings (recursively) into a groupnone
changegroupactiveswitches to the next window in a group.b - back, f - forward.
togglesplittoggles the split (top/side) of the current window. preserve_split must be enabled for toggling to work.none