Skip to content

feat(ui): add scroll support with PageUp/PageDown and mouse/trackpad scrolling#2

Open
R3LAMP4GO wants to merge 1 commit into
KenKaiii:mainfrom
R3LAMP4GO:fix/scroll-support
Open

feat(ui): add scroll support with PageUp/PageDown and mouse/trackpad scrolling#2
R3LAMP4GO wants to merge 1 commit into
KenKaiii:mainfrom
R3LAMP4GO:fix/scroll-support

Conversation

@R3LAMP4GO

Copy link
Copy Markdown

Summary

Adds viewport-based scrolling to the interactive TUI.

New files

  • useContentScroll hook — manages viewport offset, scroll up/down/toBottom
  • useMouseScroll hook — SGR mouse protocol for trackpad/wheel events
  • ScrollIndicator component — visual scroll position indicator

Changes

  • App.tsx — integrates scroll viewport, PageUp/PageDown key bindings, mouse scroll handlers
  • ActivityIndicator, InputArea, Markdown, SelectList — compatibility updates for scroll state
  • useAgentLoop, render.ts — scroll state management wiring

How it works

  • PageUp/PageDown scrolls by half-viewport
  • Mouse wheel/trackpad scrolls 3 lines at a time
  • SGR mouse tracking only activates when content exceeds viewport (preserves native terminal scrollback)
  • Auto-scrolls to bottom when agent completes a turn

…scrolling

- Add useContentScroll hook for viewport-based content scrolling
- Add useMouseScroll hook for SGR mouse protocol trackpad/wheel support
- Add ScrollIndicator component showing scroll position
- Update App.tsx to integrate scroll viewport with live items
- Update ActivityIndicator, InputArea, Markdown, SelectList for scroll compatibility
- Update useAgentLoop and render.ts for scroll state management

@MontaEllis8 MontaEllis8 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Code Review 通过

代码审查通过,建议合并。

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.

2 participants