Skip to content

Add pinned tabs feature#1

Merged
keybrdist merged 1 commit into
mainfrom
feature/pinned-tabs
Jan 24, 2026
Merged

Add pinned tabs feature#1
keybrdist merged 1 commit into
mainfrom
feature/pinned-tabs

Conversation

@keybrdist

Copy link
Copy Markdown
Owner

Summary

  • Add multi-session PTY backend with HashMap-based session routing
  • Create TabBar component with Chrome-style pinned tabs (dot indicators)
  • Implement useTabManager hook for tab lifecycle and state management
  • Add TerminalPane component wrapping individual xterm instances
  • Support keyboard shortcuts for tab management

Features

  • Cmd+T - New tab
  • Cmd+W - Close current tab
  • Cmd+1-9 - Switch to tab N
  • Cmd+Shift+[/] - Previous/next tab
  • Cmd+Shift+P - Pin/unpin current tab
  • Right-click tab - Toggle pin state

Pinned tabs appear first (ordered by pin time) as minimal dot indicators. Unpinned tabs show title with close button on hover.

Test plan

  • Create multiple tabs, verify each has independent shell
  • Close tabs, verify PTY cleanup (no zombie processes)
  • Pin/unpin tabs, verify ordering changes correctly
  • Test all keyboard shortcuts
  • Resize window, verify all terminals resize correctly
  • Test block scanning/copying on active tab

🤖 Generated with Claude Code

- Add multi-session PTY backend with session ID routing
- Create TabBar component with Chrome-style pinned tabs
- Implement useTabManager hook for tab state management
- Add TerminalPane component for individual terminal instances
- Add keyboard shortcuts: Cmd+T (new), Cmd+W (close), Cmd+1-9 (switch),
  Cmd+Shift+[/] (prev/next), Cmd+Shift+P (pin toggle)
- Pinned tabs appear first as dot indicators, unpinned show title
- Right-click or use pin icon to toggle pin state
- Each tab has independent shell session with proper cleanup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@keybrdist keybrdist merged commit 764e3f0 into main Jan 24, 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