Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Talking to terminals (and how they talk back) (...

Talking to terminals (and how they talk back) (KotlinConf 2026)

Have you ever wondered how Gradle renders multiple progress bars below the scrolling output? Or how a Linux installer renders full screen in the terminal? What about how curl somehow displays a progress bar despite having its output redirected to a file?

This talk will explore how command-line applications communicate with the terminal. From basic elements such as colors and the terminal size to advanced behavior like frame synchronization, images, and keyboard events.

Our journey will be in Kotlin, of course, and cover talking to OS-specific APIs, the challenges of JVM vs. Kotlin/Native, and finally some reusable libraries to make your life easier.

Modern terminals are powerful systems which can do a lot more than just display text. Let's use them to their full potential!

Video: coming soon!

Avatar for Jake Wharton

Jake Wharton PRO

May 21, 2026

More Decks by Jake Wharton

Other Decks in Programming

Transcript

  1. ❯ ./talking_to_te rmi nals And how they talk back! ❯

    whoa mi jakewharton ❯ oldcomputr.com
  2. ? ? ? ? ? ? ? stdin stdout stderr

    curl … > stuff.txt /dev/tty