maomaowm/docs/window-management/layouts.md
2026-05-09 15:34:00 +00:00

4.3 KiB
Raw Blame History

title description
Layouts Configure and switch between different window layouts.

Supported Layouts

mangowm supports a variety of layouts that can be assigned per tag.

  • tile
  • scroller
  • monocle
  • grid
  • deck
  • center_tile
  • vertical_tile
  • right_tile
  • vertical_scroller
  • vertical_grid
  • vertical_deck
  • dwindle

Scroller Layout

The Scroller layout positions windows in a scrollable strip, similar to PaperWM.

Configuration

Setting Default Description
scroller_structs 20 Width reserved on sides when window ratio is 1.
scroller_default_proportion 0.9 Default width proportion for new windows.
scroller_focus_center 0 Always center the focused window (1 = enable).
scroller_prefer_center 0 Center focused window only if it was outside the view.
scroller_prefer_overspread 1 Allow windows to overspread when there's extra space.
edge_scroller_pointer_focus 1 Focus windows even if partially off-screen.
scroller_proportion_preset 0.5,0.8,1.0 Presets for cycling window widths.
scroller_ignore_proportion_single 1 Ignore proportion adjustments for single windows.
scroller_default_proportion_single 1.0 Default proportion for single windows in scroller. Requires scroller_ignore_proportion_single=0 to take effect.

Warning: scroller_prefer_overspread, scroller_focus_center, and scroller_prefer_center interact with each other. Their priority order is:

scroller_prefer_overspread > scroller_focus_center > scroller_prefer_center

To ensure a lower-priority setting takes effect, you must set all higher-priority options to 0.

# Example scroller configuration
scroller_structs=20
scroller_default_proportion=0.9
scroller_focus_center=0
scroller_prefer_center=0
scroller_prefer_overspread=1
edge_scroller_pointer_focus=1
scroller_default_proportion_single=1.0
scroller_proportion_preset=0.5,0.8,1.0

Master-Stack Layouts

These settings apply to layouts like tile and center_tile.

Setting Default Description
new_is_master 1 New windows become the master window.
default_mfact 0.55 The split ratio between master and stack areas.
default_nmaster 1 Number of allowed master windows.
smartgaps 0 Disable gaps when only one window is present.
center_master_overspread 0 (Center Tile) Master spreads across screen if no stack exists.
center_when_single_stack 1 (Center Tile) Center master when only one stack window exists.
# Example master-stack configuration
new_is_master=1
smartgaps=0
default_mfact=0.55
default_nmaster=1

Dwindle Layout

The Dwindle layout arranges windows as a binary tree of recursive splits. Each new window splits the focused window's container, producing a spiral-like tiling.

Configuration

Setting Default Description
dwindle_split_ratio 0.5 Ratio used for new splits (0.050.95).
dwindle_smart_split 0 Pick the split axis from the cursor's position inside the focused window. The new window appears on the cursor's side.
dwindle_hsplit 0 Side-by-side splits: where the new window goes. 0 = follow cursor, 1 = right, 2 = left.
dwindle_vsplit 0 Top/bottom splits: where the new window goes. 0 = follow cursor, 1 = below, 2 = above.
dwindle_preserve_split 0 Keep the sibling's split orientation when a window is closed.
dwindle_smart_resize 0 When dragging to resize, move the split toward the cursor regardless of which side was grabbed.
dwindle_drop_simple_split 1 Drag-to-tile drop preview. 1 = 2-zone preview matching dwindle_split_ratio, 0 = 4-quadrant preview.
# Example dwindle configuration
dwindle_split_ratio=0.5
dwindle_smart_split=0
dwindle_hsplit=0
dwindle_vsplit=0
dwindle_preserve_split=0
dwindle_smart_resize=0
dwindle_drop_simple_split=1

Switching Layouts

You can switch layouts dynamically or set a default for specific tags using Tag Rules.

Keybinding Examples:

# Cycle through layouts
bind=SUPER,n,switch_layout

# Set specific layout
bind=SUPER,t,setlayout,tile
bind=SUPER,s,setlayout,scroller