. Kernel handled data transfer . Terminal handled display (cursor, color, line handling...) . Terminal control through escape sequences talking to a terminal
. Vendor-specific escape sequences . ECMA-48 adopted in 1976 . termcap released in 1978 (TERMinal CAPability) standards? nope. Esc[20h Set new line mode LMN Esc[?1h Set cursor key to application DECCKM none Set ANSI (versus VT52) DECANM Esc[?3h Set number of columns to 132 DECCOLM Esc[?4h Set smooth scrolling DECSCLM Esc[?5h Set reverse video on screen DECSCNM Esc[?6h Set origin to relative DECOM Esc[?7h Set auto-wrap mode DECAWM Esc[?8h Set auto-repeat mode DECARM Esc[?9h Set interlacing mode DECINLM
introducing (n)curses . Developed for BSD . Code borrowed from vi . Originally used termcap . Unix System III / V . Gained additional features . Curses became pcurses . pcurses became n(ew)curses
(n)curses philosophy . Tools provided... . ...but you're on your own . One primary object: stdscr . Full cursor/screen control . Forms, windows, colors, cbreak mode . Manual Screen refresh