Multiple layouts
Tall, wide, three columns, BSP, grid, column, monocle, and floating. Switch layouts with a keystroke.
Multiple layouts
Tall, wide, three columns, BSP, grid, column, monocle, and floating. Switch layouts with a keystroke.
Keyboard-driven
Vim-style navigation between windows. Swap positions, adjust ratios, toggle floating.
Composable
Wrap layouts with modifiers. Combine layouts spatially. Build exactly what you need.
No system modifications
Runs on Hammerspoon (free, open source). No SIP changes, no kernel extensions. Each macOS Space keeps its own layout.
Most macOS tiling managers offer preset layouts and configuration. Shoji is built differently — every layout is composable:
Mirror (flip
orientation), Centered (add margins), or Gaps (add spacing). Stack them
for combined effects.Partition to create asymmetric
splits with different layouts on each side. Use IfMax to switch layouts
based on window count. Build complex arrangements from simple pieces.Need help? Ask a question in GitHub Discussions or open an issue.