Skip to content

Add 3x3 grid layout (9-pane) #51

@AThraen

Description

@AThraen

This was generated by AI during triage.

Summary

Add a 3×3 grid layout option (9 terminal panes) alongside the existing 1×1, 1×2, 2×1, 2×2, and other layouts.

Motivation

Power users running many concurrent sessions — e.g. monitoring multiple Claude Code agents, tailing several log streams, or managing a fleet of services — currently max out at 4 panes (2×2). A 3×3 layout makes the tool viable for larger multi-session workflows without needing to switch groups as frequently.

Proposed behaviour

  • Add ThreeByThree (or similar) to the Layout enum and the layout switcher toolbar/menu.
  • RefreshTerminalLayout distributes up to 9 active sessions into a 3-column × 3-row Grid.
  • Sessions beyond 9 are dormanted (same overflow behaviour as today).
  • Layout persists to AppState.LastLayout as "ThreeByThree".
  • The active-ring highlight and sidebar sync work unchanged — they are slot-agnostic.

Implementation hints

  • The layout switcher in MainWindow toolbar already iterates layout values; adding the enum entry and a ColumnDefinitions/RowDefinitions branch in RefreshTerminalLayout should be the bulk of the work.
  • Minimum window size may need revisiting — 9 panes at the current minimum will be very cramped; consider enforcing a larger MinWidth/MinHeight when this layout is active, or letting xterm.js reflow naturally via the fit-addon.
  • The layout label/icon in the toolbar needs a 3×3 grid glyph or label.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions