Three columns
Main windows in the center column with stack windows distributed on both sides. Ideal for ultrawide monitors where you want the primary content centered.
Layout
1 window
┌───────────────────────────────────────────────────────────┐│ ││ ││ ││ ││ ││ ││ ││ ││ 1 ││ ││ ││ ││ ││ ││ ││ ││ │└───────────────────────────────────────────────────────────┘2 windows
┌───────────┬───────────────────────────────────┬───────────┐│ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ 2 │ 1 │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ │└───────────┴───────────────────────────────────┴───────────┘With the default main_count = 1, the first window stays in the center
column and the second goes to the left stack.
To keep both windows in the center column, raise main_count:
spoon.Shoji:configure({ main_count = 2,})3 windows
┌───────────┬───────────────────────────────────┬───────────┐│ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ 2 │ 1 │ 3 ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ │└───────────┴───────────────────────────────────┴───────────┘The first window (main) is in the center. Stack windows alternate between left and right columns.
5 windows
┌───────────┬───────────────────────────────────┬───────────┐│ │ │ ││ │ │ ││ │ │ 3 ││ 2 │ │ ││ │ │ ││ │ ├───────────┤│ │ │ │├───────────┤ │ ││ │ 1 │ ││ │ │ ││ │ │ ││ │ │ 5 ││ 4 │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ │└───────────┴───────────────────────────────────┴───────────┘Left stack: windows 2, 4. Right stack: windows 3, 5.
Capabilities
- Adjustable ratio: Yes - resize the center column
- Adjustable main count: Yes - put multiple windows in center
- Stateful: No
Configuration
spoon.Shoji:configure({ default_layout = "three_columns", main_ratio = 0.5, -- Center column gets 50% of screen width main_count = 1, -- One window in center})Main ratio
The main ratio controls how much horizontal space the center column occupies. The remaining space is split equally between the left and right stacks.
spoon.Shoji:bindHotkeys({ increase_main_ratio = { { "ctrl", "alt" }, "=" }, decrease_main_ratio = { { "ctrl", "alt" }, "-" },})Multiple main windows
Increase main_count to put more windows in the center column:
spoon.Shoji:bindHotkeys({ increase_main_count = { { "ctrl", "alt" }, "," }, decrease_main_count = { { "ctrl", "alt" }, "." },})main_count = 2 (with 4 windows)
┌───────────┬───────────────────────────────────┬───────────┐│ │ │ ││ │ │ ││ │ 1 │ ││ │ │ ││ │ │ ││ ├───────────────────────────────────┤ ││ │ │ ││ │ │ ││ 3 │ │ 4 ││ │ │ ││ │ │ ││ │ 2 │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ │└───────────┴───────────────────────────────────┴───────────┘When to use
Three columns works best on ultrawide monitors (21:9 or wider):
- Primary editor centered with reference docs on either side
- Video editing with timeline in center, bins on sides
- Dashboard with main content flanked by secondary panels
For standard 16:9 monitors, Tall or Wide may be more practical.