• v2.3.5 58135ce6cb

    v2.3.5 Stable

    kahliburke released this 2026-07-16 18:53:58 -07:00 | 10 commits to main since this release

    Windows — terminal sizing

    • terminal_size() now reads the live console size from CONOUT$, so Windows TUIs fill the real window at startup and track resizes — even when stdout is redirected (previously it fell back to the 24×80 default and never updated).

    Windows — input (new ReadConsoleInputW backend)

    • Mouse now works on Windows: press / release / drag / move, left / right / middle buttons, and vertical + horizontal wheel — events libuv's raw reader was silently dropping.
    • Keyboard runs through the same backend: characters, arrows, F1–F12, Home/End/PgUp/PgDn/Ins/Del, Enter/Tab/Esc/Backspace, Shift-Tab, and Ctrl combinations.
    • On by default on Windows; opt out with TACHIKOMA_WIN_CONSOLE_INPUT=0.

    International keyboard (all platforms)

    • Legacy (non-Kitty) input path decodes multi-byte UTF-8 — accented / non-ASCII characters no longer mojibake into a single Latin-1 char.
    • Kitty keyboard protocol requests flags 4 (alternate keys) + 16 (associated text) and decodes from the terminal-reported character instead of a US-only shift table, so shifted symbols, accents, and AltGr/Option combos decode correctly on any layout.
    • Adds a non-exported raw-input tap (enable_raw_capture! / last_event_raw) and a tools/keyboard_diag diagnostic app.

    Compatibility

    • Non-Windows: only the international-keyboard decoding applies; all Windows code is @static/runtime-gated and inert off Windows.
    • No exported API changes, no breaking changes → patch release.
    Downloads