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>
Launch Claude Code sessions inside embedded tmux panes instead of
separate Terminal.app windows. Sessions are tiled in a grid layout with
color-coded borders per project. Border flashing alerts when a session
goes idle and needs input. Ctrl+` switches between picker and grid view.
New modules:
- src/tmux/session-manager.ts — tmux session lifecycle
- src/tmux/ansi-parser.ts — ANSI escape code to cell grid parser
- src/tmux/capture.ts — polls tmux capture-pane for rendering
- src/tmux/input-bridge.ts — forwards keystrokes to tmux sessions
- src/components/terminal-view.ts — FrameBuffer renderable for panes
- src/components/session-grid.ts — tiled grid with flash effects
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The previous 5-second mtime threshold caused false idle triggers during
tool calls and subtasks. Now reads the last 8KB of the JSONL to check
if the final assistant message contains tool_use — if so, Claude is
still working regardless of how long ago the file was modified.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When items are selected with checkmarks, pressing enter now always
launches them instead of being intercepted by idle panel or active
session focus logic.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Scan ~/.claude/projects JSONL files to compute API cost usage.
Shows 4 bars matching Claude's usage screen: current session (5h window),
weekly all models, weekly sonnet-only, and monthly total.
Configurable plan limits in PLAN_LIMITS. Refreshes every 30s.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract helpers: focusTerminalTab, getTtyViaPsForPids, escapeAppleScript
- Batch ps tty lookup (single call for all PIDs instead of sequential)
- Target specific session tty when g pressed on session row
- Sort ttys by most recent activity for project-level focus
- Deduplicate tried ttys between primary and fallback paths
- Escape AppleScript interpolations to prevent injection
- Wrap flash animation in try/end try for mid-close safety
- Wrap async handleKeypress in try/catch for unhandled rejections
- Fix activeTag padding for consistent column alignment
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multiple claude processes in the same CWD share one sessionFile via
findActiveJsonl, causing duplicate idle entries. Now deduplicates by
project+sessionFile key. Also refreshes session data on busy→idle
transitions so the parser fix takes effect immediately.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Tab/shift-tab to select idle sessions, enter to focus terminal
- Dock bounces on busy→idle transition for attention
- Fix session parser to handle array-format user messages and skip
system tags (<local-command-caveat>, <command-name>, etc.)
- Eagerly load session data for active projects so idle panel
always shows title, prompt, and response
- Render idle rows as individual Text nodes to avoid t`` nesting bug
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Press 'i' to toggle bottom panel between Preview and Idle Sessions.
Auto-switches to idle mode on busy→idle transitions. Session rows now
show ● running / ◉ idle dots at the start for quick visual scanning.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show running/idle status inline on expanded session rows, add idle
sessions panel (toggle with 'i'), auto-switch to idle panel on
busy→idle transitions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Detect active Claude sessions' real-time status by monitoring JSONL file
modification times. Shows green dot when Claude is processing, yellow dot
with elapsed time when idle. Plays Glass.aiff when sessions transition
from busy to idle. Updates website and README with new features.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Polished README with logo, demo GIF, annotated screenshots, column
legend, keybinding table, and install instructions. Added bin entry
and shebang so `bun link` registers the `cladm` command globally.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Source modules for history parsing, git metadata, project scanning,
terminal launching, and OpenTUI component layout. Remove private flag
for publishing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>