Skip to content

Groups own pane/grid layout (idea) #30

@mortenaslo

Description

@mortenaslo

Idea

Should session groups also reflect the window/pane setup? In other words, a group would own its visible pane/grid structure, and switching groups would swap the entire terminal layout — effectively hiding shells that aren't in the active group.

Current behavior

  • Groups are display-only — they affect sidebar grouping (None / Strip / Inline headers) but all live sessions are visible in the terminal area regardless of group.
  • The grid layout (Single / TwoByTwo / etc.) is a single global setting persisted to AppState.LastLayout.

Proposed behavior

  • Each group could store its own layout mode + which sessions are visible/arranged in its panes.
  • Selecting a group would:
    • Show only that group's sessions in the terminal area.
    • Restore that group's saved pane arrangement.
  • Sessions outside the active group remain alive (PTY running, output indexed, alerts firing) — just not rendered until you switch back.

Open questions

  • Is this actually useful, or does the current group-as-sidebar-decoration model cover the real workflows? The motivating use case would be juggling many projects where you want to context-switch between, say, a 4-pane "frontend" group and a 2-pane "infra" group without manually rearranging.
  • How would this interact with cross-group drag-to-reassign (recently added in inline mode)?
  • Per-group layout persistence would need new fields on SessionGroup and a migration of AppState.LastLayout semantics.

Status

Just an idea — not sure it's actually needed. Filing so it's not lost.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions