Skip to content

[UX] Task Panel: Toggle visibility and enhanced status display #97

@randomm

Description

@randomm

Summary

Consolidated issue from #19, #20, #21, #68. Builds on work already completed in #95 and #96.

Already Implemented ✅

From #95 and #96:

  • Elapsed time ticker on running tasks (12s)
  • Nested child tool display for subagents └─ ◇ bash git status
  • Theme-based colors: dim gray (completed), yellow (running), cyan (tasks)
  • Bus subscription for child session events

Remaining Work

1. Task Panel Toggle (ctrl+t)

  • Toggle visibility of task/subagent status section
  • Header: Tasks (X done, Y open) · ctrl+t to hide
  • Remember toggle state across renders

2. Todo Status Colors

  • Completed todos: green checkmark
  • Pending todos: dim empty box
  • In-progress todos: yellow diamond

3. Multi-Agent Tree Display

When multiple subagents are running simultaneously:

Tasks (2 running, 3 done) · ctrl+t to hide
├─ @developer: Fix streaming (23s)
│   └─ ◇ bash  bun test
└─ @explore: Research patterns (8s)
    └─ ◇ read  src/index.ts

Not In Scope (Deferred)

The following require new Bus events from subagent sessions:

  • Real-time tool use count per task
  • Real-time token count per task
  • Activity verb ("Thinking", "Researching")

These are tracked separately for a future milestone when subagent telemetry is available.

Files

  • packages/opencode/src/cli/lite/index.ts — keybinding for ctrl+t
  • packages/opencode/src/cli/lite/liveblock.ts — panel rendering, tree connectors
  • packages/opencode/src/cli/lite/theme.ts — todo colors

Acceptance Criteria

  • ctrl+t toggles task panel visibility
  • Task counts update in header
  • Todo items show colored status icons
  • Multiple running subagents display in tree format
  • Panel state persists during session

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions