Terminal Chronicle

terminal-chronicle tells a short story using only Terminal::print() and Terminal::printLine(). It is the most direct example in the repository of colorful, structured terminal output without a back buffer or full-screen render loop.

Use This Demo When You Need…

  • A readable example of mixed text, colors, and formatting in ordinary command-line output.

  • A support reference for status messages, splash screens, or narrated console output.

  • A compact alternative to the fullscreen demos when you want simple print calls only.

Run the Demo

Start the demo from the build directory:

$ ./cmake-build-debug/demo-apps/terminal-chronicle

The program prints the full story directly into the terminal history and exits on its own.

Captured Output (80x25)

 Terminal Chronicle  Low-level output with readable print calls.

Timeline: teletype -> glass terminal -> VT100 -> modern ANSI consoles

1968  Video terminals began to replace noisy paper with phosphor screens.
      A cursor could move, lines could be rewritten, and suddenly the console
      felt alive.

1978  DEC introduced the VT100, a terminal that had a language of escape
      sequences: Move the cursor, change colors, redraw only what changed.

1980s Bulletin boards, editors, and debuggers discovered that text mode did
      not have to look dull. Progress bars, highlighted menus, and boxed
      dialogs were all just carefully printed characters.

Today The idea is unchanged: emit text, switch styles, keep the code compact,
      and let the terminal shine.
      This demo uses printLine("text", fg::..., bg::...) to tell a story
      without building a custom renderer first.

 Try the other demos next:  retro-plasma, frame-weaver, text-gallery.

Features Demonstrated

  • Direct output via Terminal::print() and Terminal::printLine().

  • Readable mixed argument lists combining plain text, colors, and formatting state.

  • Inline foreground and background changes inside one output flow.

  • Structured command-line output without building or managing a Buffer first.

Relevant Source Files

If you want to explore the implementation, start with demo/terminal-chronicle/src/StoryDemo.cpp.

This file contains the complete sequence and shows how expressive terminal output can stay compact and readable.