ckVision is a modern C++ library for building full terminal user interfaces — windows, menus, dialogs, widgets, embedded terminals and graphics — with deterministic, headless-testable behaviour.
- Repository: github.com/cklukas/ckVision
- Releases: v0.1.0 and later
- Built with ckVision: ckmux, a terminal multiplexer with a visible interface
Start here
- Getting started — build, link, and a first application
- Hello tutorial — a complete application, step by step
- Example applications — the
examples/tree as a guided tour - SysInfo example — injected host facts, benchmarks, charts, help, and report export
- TODO example — a complete persistent Kanban application, custom views, editor notes, and multi-instance conflicts
- Hello example verification appendix
Concepts
- Object model — views, windows, the desktop, events
- Layout guide — sizing, anchoring, and resize behaviour
- Themes and rendering
- Dialogs and commands
- Standard commands — the command registry, v1
Widgets and views
- Widget gallery — every public type, with a picture of it running, the compiled code that drew the picture, and what each setting does
- Advanced progress — Unicode meters, task progress and the interactive lab
- Data views
- Editor
- Flow view
- Embedded terminal — a real PTY inside a window
Terminal and graphics
- Graphics — Sixel and raster output
- Terminal host integration
- Terminal capability profiles
- Input decoder — keys, mouse, and paste, v1
- Text width and grapheme segmentation