Skip to content

feat: add tabs + panes hybrid layout support - #3

Merged
minorole merged 2 commits into
mainfrom
feature/tabs-plus-panes
Jan 7, 2026
Merged

feat: add tabs + panes hybrid layout support#3
minorole merged 2 commits into
mainfrom
feature/tabs-plus-panes

Conversation

@minorole

@minorole minorole commented Jan 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add ability to create multiple tabs where each tab has its own pane layout
  • Users configure tabs: N alongside any layout to get N tabs, each with the specified pane configuration
  • Example: tabs: 3 + layout: duo = 3 tabs × 2 panes = 6 workspaces

Changes

  • Config parsing: Add tabs: key support in lib/config.zsh
  • New AppleScript: layout-hybrid.applescript creates tabs with splits in each
  • Setup wizard: Now asks "Do you want multiple tabs?" before layout selection
  • Terminology: Renamed "panes" to "sections" in wizard for beginners
  • Dry-run: Shows tabs × panes breakdown

Breaking Change

layout: tabs is removed. Users with this config will see:

Error: 'layout: tabs' is deprecated.

Update your config to use the new tabs + panes system:
  layout: 1        # panes per tab (or duo, trio, quad, etc.)
  tabs: N          # number of tabs (2-10)

Example - 3 tabs, each with 2 panes:
  layout: duo
  tabs: 3

Test plan

  • Run gpane setup and choose "yes" for multiple tabs
  • Run gpane myproject --dry-run with tabs: 3 + layout: duo config
  • Test old layout: tabs config shows migration error
  • Test per-project override with different tabs count
  • Manual test: verify Ghostty creates correct tabs × panes structure

🤖 Generated with Claude Code

Add ability to create multiple tabs where each tab has its own pane layout.
Users can now configure `tabs: N` alongside any layout to get N tabs, each
with the specified pane configuration.

Example: `tabs: 3` + `layout: duo` = 3 tabs × 2 panes = 6 workspaces

Changes:
- Add `tabs:` config parsing in lib/config.zsh
- Create layout-hybrid.applescript for tabs with splits
- Update setup wizard to ask about tabs before layout
- Rename "panes" to "sections" in wizard for clarity
- Update dry-run output to show tabs × panes breakdown

BREAKING: Remove `layout: tabs` (deprecated)
- Migration: Change `layout: tabs` to `layout: 1` and add `tabs: N`
- Clear error message shown when old syntax detected
- Version badge: v0.2.7 → v0.3.0
- Hero: mention tabs in feature list
- Feature 05: describe tabs capability
@minorole
minorole merged commit b7406ee into main Jan 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant