Skip to content

feat(terminal): support auto, hover and always scrollbars - #447

Open
WilliamWang1721 wants to merge 7 commits into
Kuddev:mainfrom
WilliamWang1721:codex/issue-425-scrollbar-visibility
Open

WilliamWang1721 wants to merge 7 commits into
Kuddev:mainfrom
WilliamWang1721:codex/issue-425-scrollbar-visibility

Conversation

@WilliamWang1721

@WilliamWang1721 WilliamWang1721 commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Result / 用户结果

Closes #425. Terminal appearance now offers Auto-hide / On hover / Always for the overlay scrollbar. Auto remains the default; Hover uses the existing right-edge hit band; Always stays grabbable at live bottom. Every mode hides when there is no history, and an active drag retains visual feedback until release.

Design / 设计边界

Shared settings own scrollbar_visibility=auto|hover|always, parsing and reset. Existing dropdown/localization and Settings hot application update open terminals. Rendering and input share the visible thumb and hit bounds, so hidden bars do not intercept selection or TUI input. The minimum 24px thumb now uses the same travel range for painting and drag inversion, avoiding a jump when grabbed at live bottom. No new dependencies or reserved grid width.

Evidence / 验证依据

Final head 81bf4f361cba840a6f3d09894ca76c3ed2041ad2: architecture, lint, PR size and all required reports passed. Upstream validation executed Linux, Windows x64 and Windows ARM64. This is automated native-suite evidence; platform/device UI limits below still apply.

Confirmed current main returned no scrollbar at offset zero and had no visibility setting. Added persistence/reset, real dropdown/reopen, pointer hover/leave, hidden selection, no-history TUI input, live/top/bottom dragging with a minimum-size thumb, and outside-release regressions. Two self-review passes completed.

All execution is through GitHub Actions; no local tests/builds/format/architecture checks ran. Final-head PR CI passed. The fork macOS native UI job passed on exact head 81bf4f361cba840a6f3d09894ca76c3ed2041ad2. Real CoreGraphics move/down/up opened both the existing Font ligatures dropdown and the new scrollbar dropdown; Up/Enter selected On hover and persisted it. Always/away/inside/leave screenshots were visually reviewed: the right-edge region [956,110,44,567] changed by 570/572/0 pixels. Window: 984×667 on a 1024×768, 1× hosted display. Artifact: native-ui-pr-447-81bf4f361cba840a6f3d09894ca76c3ed2041ad2. Earlier automation clicks did not reliably open either native menu; those failed captures were harness evidence, not a product-hover failure. Windows UI and manual high-DPI/device acceptance remain unverified.

AI implementation/review: GPT-6.1 SOL sub-agents; coordinator model and reasoning efforts unverified.

Required Review / 必须确认

  • Followed contribution, architecture and project constraints.
  • Existing owners and input geometry remain the single authority; no added dependency.
  • Final-head formatting, architecture, selected native checks and every required context passed.
  • Regression scope and visual acceptance limits are stated.
  • English/Chinese typed i18n with English fallback.

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.

[Feature] 终端滚动条支持「悬停显示 / 始终显示」选项

1 participant