JuliaCon 2020 (times are in UTC)

Terminal User Interfaces in Julia
07-29, 17:30–17:40 (UTC), Green Track

Have you ever wondered how htop, vim or other terminal applications work? Do you want to add color, or formatting to the terminal output from your Julia application? Are you interested in building interactive terminal user interfaces for your users? Well, this is the talk for you!

We will discuss how terminal emulators work, features they make available and how you can leverage these features to create the best experience for you and your users in the terminal for a Julia application.


Terminal User Interfaces can be developed using in-band ANSI escape and control sequences. Using the various escape and control sequences we can move the cursor to any position, erase lines or part of the screen, set formatting options such as bold, italic, foreground color, background color, change the cursor shape, etc.

In this lightning talk I will go over some examples of building terminal user interfaces in Julia. The presentation will feature ANSI escape sequences; TERMIOS settings, such as cooked, raw and cbreak modes; reading stdin and write to stdout while in these various modes, etc.

Dheepak is an energy system research engineer working at the National Renewable Energy Laboratory. He is interested in energy, optimization and high performance computing.

This speaker also appears in: