Layouts overview
You will learn
- What layouts Shoji includes
- Which layout fits which workflow
- How to extend layouts with modifiers
Shoji includes eight built-in layouts. Each layout arranges windows differently to suit various workflows.
Overview
| Layout | Description | Ratio | Main count | Resize | State |
|---|---|---|---|---|---|
| Tall | Main left, stack right | ✓ | ✓ | — | — |
| Wide | Main top, stack bottom | ✓ | ✓ | — | — |
| Three columns | Main center, stacks on sides | ✓ | ✓ | — | — |
| Monocle | Windows stacked full size | — | — | — | — |
| BSP | Recursive binary splits | — | — | ✓ | ✓ |
| Column | Equal-width columns | — | — | — | — |
| Floating | No automatic tiling | — | — | — | — |
| Grid | Even grid pattern | — | — | — | — |
Legend:
- Ratio: Supports
main_ratioadjustment - Main count: Supports
main_countadjustment - Resize: Per-window resize with layout-specific actions
- State: Maintains state between retiles
Choosing a layout
For focus work with one main window: Tall or Wide layouts emphasize a primary window with supporting windows alongside.
For ultrawide monitors: Three columns centers your main window with supporting content on both sides.
For managing many equal windows: BSP, Grid, or Column layouts treat all windows equally without hierarchy.
For distraction-free work: Monocle stacks windows so only the focused one is visible.
For manual control: Floating disables automatic tiling entirely.
Custom layouts
Create your own layouts. See Creating custom layouts for details.
Layout composition
Combine built-in layouts with modifiers and combinators:
- Layout modifiers — mirror, center, or add gaps to any layout
- Partition — split the screen into regions, each running its own layout
- IfMax — switch layouts based on window count
- Composition recipes — ready-to-use examples