Skip to content

Interactive command/output block controls (Warp-like block actions) #85

Description

@raiseCatError

Goal

Explore future per-block interactive controls on command/output blocks, similar to modern block-oriented terminals. Design/research tracking only — no implementation or exact control set committed here.

Behavior

  • Controls are hidden by default.
  • Reveal on hover or keyboard focus of the block.
  • Controls sit on the right edge of the block where width allows.

Potential actions (not a final list)

  • Rerun
  • Edit & rerun
  • Copy command
  • Copy output
  • Copy both
  • Inspect
  • Find/search within output
  • Filter output
  • Bookmark/pin

Every action must have a keyboard equivalent — controls are not mouse-only.

Shift-selection safety

Shift+mouse is native terminal text-selection (see the passive-hover work merged for #20 / PR #82, which established Shift-suppression for hover/click). Any future block-action affordance must respect the same rule: Shift+click/drag must always fall through to native text selection and must never reveal, focus, or trigger a block action.

Related

v0.4 interaction decision

Potential actions include rerun, edit & rerun, copy command/output/both, inspect, find/filter output, and bookmark/pin. Controls remain hidden until passive hover or keyboard focus and align right when space permits. Every mouse action needs a keyboard equivalent. Shift is native terminal-selection mode: Shift+click/drag must never reveal or activate actions, expand/collapse blocks, or interrupt selection. Preserve the v0.3 passive-hover invariant.

Roadmap update: action set and block bounds

Actions to cover:

Block bounds come from the transcript presenter (#122), which also defines Chat block bounds (#124): in Chat, controls attach to the command or output block that owns the row. Block actions share an action registry with the command palette (#146), so every action is also reachable by keyboard.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:researchResearch or investigation task

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions