Commit Graph

11 Commits

Author SHA1 Message Date
Alejandro Gutiérrez
24a20d4fe5 feat: move folder button to pane top border as blue [●]
Blue [●] button sits rightmost on each pane's top border, separated
inward by ─ from the close/expand traffic-light buttons. Removes the
old [▸] from the subtitle row.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:57:08 +00:00
Alejandro Gutiérrez
f821010dc9 feat: add open-folder button [▸] to pane subtitle row
Cyan [▸] button on each pane's subtitle row opens the project folder
in Finder. Path text truncates with … prefix when too long.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:56:16 +00:00
Alejandro Gutiérrez
e0f1a08098 feat: inline pane tabs, add-pane mode, and grid chrome cleanup
- Tab bar now shows pane names inline with status icons instead of
  generic tab names with counts, eliminating the separate pane list row
- chromeTop reduced from 4 to 3, gaining one extra row of content space
- Add-pane mode (Ctrl+N) lets users add panes to existing tabs from picker
- Picker tab bar updated to match inline pane name format
- Session formatters and launch actions updated for branch switching

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:13:25 +00:00
Alejandro Gutiérrez
9cf18f5740 fix: PTY stdin error, double-click select with full buffer, alt+key passthrough
- Remove proc.stdin.on() call (Bun FileSink has no .on method), add
  try/catch and proc.killed guards to write/resize
- Double-click enters select mode instead of shift+click, with yellow
  banner and Esc-to-exit hint for discoverability
- Select mode now dumps full scrollback buffer (up to 5000 lines) so
  users can scroll up and copy old conversation text
- Pass all Alt+key combos through input parser to PTY (fixes
  Alt+Backspace word deletion and other Alt shortcuts)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:54:41 +00:00
Alejandro Gutiérrez
059004b6f2 fix: space after pane status icons, prevent repeated idle notification sounds
- Add space between status icon and project name in pane list for readability
- Add notifiedIdle set to checkTransitions to prevent re-triggering sound
  after busySessions fluctuations during the same idle period

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 16:46:20 +00:00
Alejandro Gutiérrez
c2e8fcaa94 feat: framed buttons, select mode isolation, shift+click select, pane status icons
- Replace bare ● and × with framed [●] and [×] for better click targets
- Select mode now clears screen and shows only focused pane content
- Shift+click auto-enters select mode for native text selection
- Ctrl+S keyboard shortcut to toggle select mode from any grid view
- Pane list shows status icons: ● green=running, ◉ yellow=idle, ○ dim=unknown
- Update hit-testing regions for new 3-char framed button positions
- Add ctrl+s select hint to all grid header modes and expanded footer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 16:38:22 +00:00
Alejandro Gutiérrez
1e105cd950 fix: buffer split mouse sequences, widen grid buttons, fix [object Object] in tab bar
- Buffer partial escape sequences in stdin handler so split SGR mouse
  events don't leak garbage characters into PTY panes
- Widen pane button hit areas from 1 char to 2-4 chars each; add title
  row click-to-expand; widen tab close/add buttons and pane list targets
- Fix [object Object] rendering in picker tab bar and pane list caused
  by OpenTUI's t`` tag not handling StyledText interpolation; add st()
  helper that concatenates StyledText by merging chunk arrays

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 15:29:44 +00:00
Alejandro Gutiérrez
c722112a7f feat: weighted grid layout, pane list bar, sorted tabs, and idle sound delay
- Replace 70/30 rearranging split with weighted grid: focused pane's
  column/row get 70%, others shrink in place (no spatial reordering)
- Add clickable pane list row below tab bar in both grid and picker modes
- Sort grid tabs numerically by tab number
- Click on focused pane no longer unfocuses it
- Delay idle notification sound by 10s to filter false intermediate alerts
- Bump chrome top from 3 to 4 rows (tab bar, pane list, header, content)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 12:52:35 +00:00
Alejandro Gutiérrez
9e424c192a feat: add tabbed grids, click-to-expand, and keybind cleanup
Introduces per-tab pane management with independent focus/expansion state,
a persistent tab bar visible in both picker and grid modes, and a 70/30
soft-expand layout triggered by clicking pane bodies. Removes legacy
toggle keybinds (Ctrl+^ and Ctrl+`) leaving only Ctrl+Space.

New keybinds: Ctrl+T new tab, Alt+1-9 switch tab, Alt+n/p cycle tabs,
Ctrl+E toggle click-expand, Ctrl+W auto-removes empty tabs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:45:25 +00:00
Alejandro Gutiérrez
bc8a0c1934 feat: toggle between picker and grid without closing panes
Add pause()/resume() to DirectGridRenderer that detach/reattach frame
listeners without killing captures or PTY sessions. switchToPicker now
pauses the grid, switchToGrid resumes it. Panes keep running in the
background while browsing the project list.

Footer shows "t grid" hint when panes are active in the background.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 09:56:38 +00:00
Alejandro Gutiérrez
3ce6572952 feat: add direct PTY grid with expand/select mode for text copying
Replace tmux-based grid with direct PTY rendering. Add [MAX] button
to expand a pane to fullscreen and [SEL] to enable native text
selection within the expanded pane. Esc exits select/expanded mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 01:41:31 +00:00