The High Quality Terminal UI Cookbook

Building terminal interfaces people want to keep open: layout, widgets, input, themes, testing and performance.

The whole book is on this site and in the EPUB, both free. The PDF is a dollar, paid in crypto through CoinPay, and it exists because typeset things are nicer to keep.

  1. 01The first frameThe smallest real program, and what actually happens when it draws.
  2. 02LayoutRows, columns, panels and grids, and the three sizes that explain every surprise.
  3. 03Text and statusText, labels, headings, badges, dividers, key/value pairs and the status bar.
  4. 04Tables, lists, trees and logsThe four widgets that show rows, and the scrolling model they share.
  5. 05Numbers that moveMeters, progress, graphs, sparklines, histograms, heat bars, gauges and donuts, and how to choose.
  6. 06Input and focusKeys, the mouse, buttons, checkboxes, selects, text inputs, tabs, and how focus is decided.
  7. 07OverlaysModals, the command palette and tooltips, and why they are drawn last.
  8. 08Themes and colourThe palette, heat ramps, series colours, and what happens on a terminal that has eight of them.
  9. 09Testing a terminal UIRendering headlessly, asserting on cells rather than screenshots, and the traps.
  10. 10PerformanceThe diff, what a frame actually costs, and the four things that make one slow.
  11. 11The same screen in eleven languagesNative ports, FFI bindings, and a bridge that lets COBOL draw a Braille chart.