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.
| Platform | GUI (Tk) | TUI (Ck) |
|---|---|---|
| Linux / BSD | native Tk | native ncurses |
| Windows native | native Tk | PDCurses (BMP-only) |
| Windows + Cygwin | not used | ncurses, 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.