Rio
adr/0006-windows-tui-via-cygwin.mdRaw Markdown · GitHub ↗

ADR-0006: Windows TUI through Cygwin, PDCurses as fallback

  • Status: Accepted, not implemented (the TUI is deferred, ADR-0112)
  • Date: 2026-06-24
  • Deciders: jka
  • Decision: D6

Context

The GUI runs natively on Windows through Tk. A terminal frontend on Windows has two possible curses implementations: real ncurses under Cygwin, or PDCurses in a native build such as vanillatclsh-win32.

Decision

The primary Windows TUI path is Cygwin, which uses real ncurses and therefore the same code path as Linux and the BSDs. Native PDCurses remains a fallback.

PlatformGUI (Tk)TUI (Ck)
Linux / BSDnative Tknative ncurses
Windows nativenative TkPDCurses (BMP-only)
Windows + Cygwinnot usedncurses, same as Linux

Consequences

  • The Windows TUI shares the tested Unix code path instead of a less-proven one.
  • The PDCurses fallback renders only the Basic Multilingual Plane. That is sufficient for a code editor; rio's iconography avoids astral code points (ADR-0027).
  • Cygwin keyboard behaviour was not tested in the Ck spike and remains open.