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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions