The chat viewport has no mouse wheel support — the only way to scroll is via
keyboard shortcuts. For users who habitually reach for the scroll wheel this
is a friction point, especially in long conversations.
Workaround / partial fix: Implemented in https://github.com/Gobd/vix.
tea.MouseWheelMsg is handled and scrolls the chat viewport by 3 lines per
tick.
Known trade-offs introduced by enabling mouse mode:
-
Text selection becomes harder. Once the terminal hands mouse events to
the application, the terminal emulator no longer owns click-and-drag, so
the OS-level text selection that normally lets you highlight and copy chat
output stops working.
-
Copy workaround. The fork partially addresses this with a click-and-drag
selection overlay (highlights the selected region in the chat view and copies
to clipboard on release). In the fork you can also hold Option to fall back
to native terminal selection when you need it. Still not a complete
replacement for all selection scenarios.
Suggested approach: Default mouse mode to off with a keybinding to toggle
it on/off — so users can flip it on to scroll, then off when they need to
select and copy.
However, the toggle approach breaks down for two important cases that
require mouse mode to be active:
- Scroll-while-selecting — dragging to the edge of the viewport to
auto-scroll while extending a selection.
- Shift+click to extend — clicking further down to extend an existing
selection without re-anchoring it.
Both of these require mouse mode on, so toggling off to copy defeats the
purpose. A more complete solution would likely need the app to own the full
selection+copy flow (as the fork's drag-to-select overlay begins to do) rather
than delegating any of it to the terminal, paired with a dedicated keybinding
to yank the selected region to clipboard.
The chat viewport has no mouse wheel support — the only way to scroll is via
keyboard shortcuts. For users who habitually reach for the scroll wheel this
is a friction point, especially in long conversations.
Workaround / partial fix: Implemented in https://github.com/Gobd/vix.
tea.MouseWheelMsgis handled and scrolls the chat viewport by 3 lines pertick.
Known trade-offs introduced by enabling mouse mode:
Text selection becomes harder. Once the terminal hands mouse events to
the application, the terminal emulator no longer owns click-and-drag, so
the OS-level text selection that normally lets you highlight and copy chat
output stops working.
Copy workaround. The fork partially addresses this with a click-and-drag
selection overlay (highlights the selected region in the chat view and copies
to clipboard on release). In the fork you can also hold Option to fall back
to native terminal selection when you need it. Still not a complete
replacement for all selection scenarios.
Suggested approach: Default mouse mode to off with a keybinding to toggle
it on/off — so users can flip it on to scroll, then off when they need to
select and copy.
However, the toggle approach breaks down for two important cases that
require mouse mode to be active:
auto-scroll while extending a selection.
selection without re-anchoring it.
Both of these require mouse mode on, so toggling off to copy defeats the
purpose. A more complete solution would likely need the app to own the full
selection+copy flow (as the fork's drag-to-select overlay begins to do) rather
than delegating any of it to the terminal, paired with a dedicated keybinding
to yank the selected region to clipboard.