[PR #3873] feat(tui): minimal scroll wheel config + wiring (accel mode, scale, max cap) #10793

Closed
opened 2026-02-16 18:15:32 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/3873

State: closed
Merged: No


This PR adds a tiny, backwards‑compatible set of TUI scroll wheel settings and wires them into the two ScrollBox usages. Defaults preserve existing behavior.\n\nWhat’s included (minimal diff):\n- Config schema (TUI):\n - : 'linear' | 'mac' (optional)\n - : number (optional, global gain)\n - : number (optional, mac cap)\n- TUI integration (2 places):\n - routes/session/index.tsx — pass configured to main scrollbox\n - ui/dialog-select.tsx — pass configured to dialog scrollbox\n - Implementation is a tiny wrapper: choose Linear/Mac from @opentui/core, optionally pass , then return .\n\nNot included (on purpose):\n- No custom shaping/gating/deadzones\n- No changes to OpenTUI libs\n- No docs changes (can follow existing docs pattern in a follow‑up if preferred)\n\nCompatibility:\n- All fields are optional; when unset, behavior is unchanged (macOS still uses MacOSScrollAccel by default).\n\nRationale:\n- Users on some terminals/machines perceive wheel sensitivity as too high. These three knobs allow per‑user tuning without changing defaults or forking OpenTUI.\n\nFiles touched:\n- packages/opencode/src/config/config.ts\n- packages/opencode/src/cli/cmd/tui/routes/session/index.tsx\n- packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx\n\nHappy to add a short blurb to the config docs if maintainers prefer.

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/3873 **State:** closed **Merged:** No --- This PR adds a tiny, backwards‑compatible set of TUI scroll wheel settings and wires them into the two ScrollBox usages. Defaults preserve existing behavior.\n\nWhat’s included (minimal diff):\n- Config schema (TUI):\n - : 'linear' | 'mac' (optional)\n - : number (optional, global gain)\n - : number (optional, mac cap)\n- TUI integration (2 places):\n - routes/session/index.tsx — pass configured to main scrollbox\n - ui/dialog-select.tsx — pass configured to dialog scrollbox\n - Implementation is a tiny wrapper: choose Linear/Mac from @opentui/core, optionally pass , then return .\n\nNot included (on purpose):\n- No custom shaping/gating/deadzones\n- No changes to OpenTUI libs\n- No docs changes (can follow existing docs pattern in a follow‑up if preferred)\n\nCompatibility:\n- All fields are optional; when unset, behavior is unchanged (macOS still uses MacOSScrollAccel by default).\n\nRationale:\n- Users on some terminals/machines perceive wheel sensitivity as too high. These three knobs allow per‑user tuning without changing defaults or forking OpenTUI.\n\nFiles touched:\n- packages/opencode/src/config/config.ts\n- packages/opencode/src/cli/cmd/tui/routes/session/index.tsx\n- packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx\n\nHappy to add a short blurb to the config docs if maintainers prefer.
yindo added the pull-request label 2026-02-16 18:15:32 -05:00
yindo closed this issue 2026-02-16 18:15:32 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#10793