Fixed

  • Shift+scroll double-fires — both handleMouse and handleInput were processing the same wheel event through the shared ScrollAccum in the same frame, causing Shift+scroll to move at 2× the configured speed. All scrollback-view scroll is now consolidated in handleInput; handleMouse only forwards events to the PTY when mouse mode is active.

Added

  • Smooth scroll animation — opt-in ease-out animation for wheel scroll. When enabled, scroll input accumulates into a target and ViewOffset glides toward it each frame instead of jumping instantly. Keyboard scroll (PageUp/Down) remains instant. Enable in config:

    [scroll]
    smooth        = true   # default: false
    smooth_factor = 0.25   # fraction of remaining distance per frame; 0.1 = slow, 0.5 = snappy