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.

Config

category name: dwindle

namedescriptiontypedefault
pseudotileenable pseudotiling. Pseudotiled windows retain their floating size when tiled.boolfalse
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
permanent_direction_overrideif 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)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
default_split_ratiothe default split ratio on window open. 1 means even 50/50 split. 0.1 - 1.9float1.0

Bind Dispatchers

dispatcherdescriptionparams
pseudotoggles the focused window’s pseudo modenone

Layout messages

Dispatcher layoutmsg params:

paramdescriptionargs
togglesplittoggles the split (top/side) of the current window. preserve_split must be enabled for toggling to work.none
preselectA 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