Generated from a competitor-analysis pass (TerminalConductor, May 2026).
Summary
When a session is actively emitting PTY output, the sidebar entry's accent stripe softly pulses, giving a visual cue that the session is "doing something" — distinct from the alert/waiting badges, which only fire on detected prompts.
Motivation
Today the only signal that a background session is active is the alert badge (AlertDetector fires on detected prompts). Long-running output — a test run, a build, a streaming agent reply — gives no visual signal until it finishes. A pulse fills that gap without competing with the alert badge.
Proposed behaviour
Trigger
TerminalBridge.RawOutputReceived already fires on every PTY chunk.
- Per-session, accumulate bytes emitted in a rolling 500ms window. If > ~32 bytes/500ms (tunable), the session is "emitting".
- Stop emitting state when no output for >500ms.
Animation
- Target: the existing 4px accent stripe on the sidebar entry.
- A
Storyboard animates Opacity 0.55 → 1.0 → 0.55 over ~1.0s, looping while emitting.
Begin() on first transition to emitting; Stop() on transition to idle.
- Hard-skip for the active session — we can see its output ourselves; pulsing its own sidebar entry is visual noise.
Settings
- Add
AppSettings.ShowActivityPulse (default true).
- Pulses also disabled while a session has
NeedsAttention == true — alert badge wins, no need for both.
Out of scope
- Pulse on the terminal pane itself (sidebar only to start).
- Pulse intensity based on output volume (binary on/off is plenty).
- Differentiating agent-emitting from shell-emitting.
Inspiration
TerminalConductor's "Activity pulses" — subtle tab animation while a session emits output. See https://terminalconductor.com/.
Summary
When a session is actively emitting PTY output, the sidebar entry's accent stripe softly pulses, giving a visual cue that the session is "doing something" — distinct from the alert/waiting badges, which only fire on detected prompts.
Motivation
Today the only signal that a background session is active is the alert badge (
AlertDetectorfires on detected prompts). Long-running output — a test run, a build, a streaming agent reply — gives no visual signal until it finishes. A pulse fills that gap without competing with the alert badge.Proposed behaviour
Trigger
TerminalBridge.RawOutputReceivedalready fires on every PTY chunk.Animation
StoryboardanimatesOpacity0.55 → 1.0 → 0.55 over ~1.0s, looping while emitting.Begin()on first transition to emitting;Stop()on transition to idle.Settings
AppSettings.ShowActivityPulse(defaulttrue).NeedsAttention == true— alert badge wins, no need for both.Out of scope
Inspiration
TerminalConductor's "Activity pulses" — subtle tab animation while a session emits output. See https://terminalconductor.com/.