Owns the terminal: switches it into raw mode and the alternate screen on start, and restores it on shutdown — including crash shutdowns.
Requires OTP 29+ (raw mode via :shell.start_interactive/1 and
:io_ansi).
Static terminal control (alternate screen, cursor visibility, keypad
transmit mode) goes through OTP 29's :io_ansi, which uses the local
terminfo database and strips sequences the terminal does not support.
Frame rendering writes precomposed iodata (see Tuix.Terminal.ANSI).
Mouse reporting (button-event tracking, mode 1002, with SGR encoding,
mode 1006) is enabled by default and disabled with mouse: false. The
modes are written as raw sequences: terminfo has no portable mouse
capability, and terminals ignore modes they do not support.
Summary
Functions
Returns a specification to start this module under a supervisor.
Returns the current terminal size as {columns, rows}.
Writes iodata to the terminal.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec size() :: {pos_integer(), pos_integer()}
Returns the current terminal size as {columns, rows}.
Writes iodata to the terminal.