Skip to content

feat(tui): add scrollbar, configurable input height, and display options#10834

Closed
nicoechaniz wants to merge 1 commit into
NousResearch:mainfrom
nicoechaniz:feat/tui-input-scrollbar-max-lines
Closed

feat(tui): add scrollbar, configurable input height, and display options#10834
nicoechaniz wants to merge 1 commit into
NousResearch:mainfrom
nicoechaniz:feat/tui-input-scrollbar-max-lines

Conversation

@nicoechaniz

@nicoechaniz nicoechaniz commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds small but high-impact quality-of-life improvements to the terminal input area, all behind new tui config options with backward-compatible defaults.

Closes #10418
Closes #5626

What's new

1. Scrollbar in the input area

  • TextArea now has scrollbar=True, making it easier to navigate long multi-line prompts.

2. Configurable input height

  • New option: tui.input_max_lines (default: 8)
  • Controls the maximum height of the input box. Users on larger terminals can increase it (e.g. 30) without the UI clipping.

3. Configurable large-paste collapsing

  • New option: tui.collapse_large_pastes (default: true)
  • When false, bracketed-paste and typing-detection paste collapsing is skipped entirely, which is useful for users who prefer inline pastes.

4. Optional "empty-input" guard for history navigation

  • New option: tui.history_nav_requires_empty_input (default: false)
  • When true, Up/Down arrows only browse history when the input buffer is empty; otherwise they move the cursor line-by-line. This matches the behavior of many terminal chat clients and prevents accidental history jumps while editing multi-line text.

5. Optional full input echo

  • New option: tui.show_full_input (default: false)
  • When true, the user's complete multi-line message is echoed back before the agent runs, instead of the compact ● first line (+N lines) preview.

Backward compatibility

Every default matches the current behavior, so existing users are unaffected. These are purely opt-in convenience knobs for power users.

Recommended setup to try

This is the config we run and the one that shows off the improvements best:

tui:
  input_max_lines: 30
  collapse_large_pastes: false
  history_nav_requires_empty_input: true
  show_full_input: true

Related context

These are quality-of-life settings common in other terminal chat interfaces (e.g. aichat, tg-cli, etc.) that users naturally expect to be available.

@nicoechaniz nicoechaniz force-pushed the feat/tui-input-scrollbar-max-lines branch 2 times, most recently from 7d87ccd to e577b02 Compare April 20, 2026 00:22
@nicoechaniz nicoechaniz force-pushed the feat/tui-input-scrollbar-max-lines branch from e577b02 to d02e15f Compare April 20, 2026 05:28
@nicoechaniz

Copy link
Copy Markdown
Contributor Author

Hi @teknium1 — this adds scrollbar support and configurable input height to the TUI composer. Rebased on latest main and ready for review when you have a moment. Thanks!

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/tui Terminal UI (ui-tui/ + tui_gateway/) labels Apr 25, 2026
@nicoechaniz nicoechaniz deleted the feat/tui-input-scrollbar-max-lines branch April 28, 2026 03:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: configurable input area max height (default 8 lines) feat: configurable paste collapse thresholds + input scroll indicators

2 participants