Skip to content

feat: Show current task description inline for selected session#474

Open
borng wants to merge 2 commits intoasheshgoplani:mainfrom
borng:feature/sync-pane-title
Open

feat: Show current task description inline for selected session#474
borng wants to merge 2 commits intoasheshgoplani:mainfrom
borng:feature/sync-pane-title

Conversation

@borng
Copy link
Copy Markdown

@borng borng commented Apr 1, 2026

Summary

When a session is selected in the TUI list, display the Claude Code task description (from the tmux pane title) inline after the badges in dim text.
TUI Subtitle Screenshot

  • Surfaces what each agent is working on without requiring attach
  • Add paneTitle field to sessionRenderState, populated from existing tmux pane cache (no new subprocess calls)
  • Strips spinner/done markers, Filter generic titles ("Claude Code", "Gemini CLI", "Codex CLI"), caps at 40 visual chars
  • Cap at 40 visual chars to prevent ANSI truncation on narrow terminals
  • Dynamically fills remaining row space (measures rendered row including indentation, tree connectors, and badges)
  • Only rendered for the selected item to keep the list compact

Test plan

  • go build ./... passes
  • go vet ./... passes
  • go fmt ./... clean
  • golangci-lint run ./internal/ui/ — no issues
  • 12 unit tests for cleanPaneTitle (new)
  • 7 unit tests for dynamic width behavior (new)
  • 248 existing UI tests still pass
  • Manual: run agent-deck, select a session with an active Claude task, verify dim task text appears inline and adapts to terminal width

borng added 2 commits April 1, 2026 20:25
When a session is selected in the TUI list, display the Claude Code task
description (from the tmux pane title) inline after the badges in dim text.
This surfaces what each agent is working on without requiring attach.

- Add paneTitle field to sessionRenderState, populated from existing
  tmux pane cache (no new subprocess calls)
- Strip spinner/done markers via tmux.StripSpinnerRunes + Braille range
- Filter generic titles ("Claude Code", "Gemini CLI", "Codex CLI")
- Cap at 40 visual chars to prevent ANSI truncation on narrow terminals
- Only rendered for the selected item to keep the list compact
Instead of a hardcoded 40-char cap, measure the rendered row width
(including indentation, tree connectors, and badges) and fill whatever
space remains. Deeply-nested sessions with many badges naturally get
less pane title space; top-level sessions get more.
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