Skip to content

Make the Windows TUI helper handle native console events #49

Description

@Mineru98

Problem

The Windows terminal path needs more than a package-level install. The TUI helper must read real Windows console input, report resize events, preserve redraw behavior, and shut down cleanly.

Without that parity, Windows users can install Ourocode but still hit fragile interactive behavior in PowerShell, Windows Terminal, or cmd.exe. This complements the broader Windows install work tracked in #39.

Proposed change

Extend the Windows TUI helper to acquire native console handles, translate Windows console input into the same byte/event stream the Elixir TUI expects, and package the Windows launcher alongside the helper.

Acceptance criteria

  • The Windows helper can acquire console input and output handles without relying on Unix-style inherited TTY file descriptors.
  • Key input is forwarded as UTF-8 bytes.
  • Console resize events trigger a TUI redraw with the new size.
  • Mouse clicks are translated into the expected terminal mouse sequence.
  • Helper control frames are decoded without leaking into normal input.
  • Windows packaging builds and includes both ourocode_tty.exe and ourocode.exe.
  • Console mode and alternate screen state are restored on exit.

Related files

  • rust/ourocode_ipc/src/bin/ourocode_tty.rs
  • rust/ourocode_ipc/src/bin/ourocode.rs
  • lib/ourocode/terminal/tty_driver.ex
  • lib/ourocode/terminal/tui_driver_session.ex
  • scripts/package-windows.ps1
  • install.ps1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions