Skip to main content
MangoWCMangoWC
Window Management

Layouts

Configure and switch between different window layouts.

Supported Layouts

MangoWC 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
  • tgmix

Scroller Layout

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

Configuration

SettingDefaultDescription
scroller_structs20Width reserved on sides when window ratio is 1.
scroller_default_proportion0.8Default width proportion for new windows.
scroller_focus_center0Always center the focused window (1 = enable).
scroller_prefer_center0Center focused window only if it was outside the view.
edge_scroller_pointer_focus1Focus windows even if partially off-screen.
scroller_proportion_preset0.5,0.8,1.0Presets for cycling window widths.
scroller_ignore_proportion_single0Ignore proportion adjustments for single windows.
scroller_default_proportion_single1.0Default proportion for single windows in scroller.
# Example scroller configuration
scroller_structs=20
scroller_default_proportion=0.8
scroller_focus_center=0
scroller_prefer_center=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.

SettingDefaultDescription
new_is_master1New windows become the master window.
default_mfact0.55The split ratio between master and stack areas.
default_nmaster1Number of allowed master windows.
smartgaps0Disable gaps when only one window is present.
center_master_overspread0(Center Tile) Master spreads across screen if no stack exists.
center_when_single_stack1(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

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

On this page