Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
NCURSES Tutorial
Rating: 4.6 out of 5(3 ratings)
14 students

NCURSES Tutorial

Learn NCURSES by writing a TUI file management tool
Created byQi Liang
Last updated 2/2026
English

What you'll learn

  • Use ncurses core library to develop TUI (Text-base User Interface) program
  • Use ncurses panel extension to handle overlapping windows easily
  • Use ncurses menu extension to add menu for user to select command or take action easily
  • Use ncurses form extension to collect user's input in an organized way

Course content

3 sections19 lectures4h 14m total length
  • Introduction5:02

    Introduce ncurses library.

  • Preparation10:32

    Install ncurses library and man pages.

Requirements

  • Linux, C language

Description

This course introduces the development using ncurses library, include its panel, menu, and form extensions. Although GUI applications dominate the world, TUI (text-based user interface) programs still prove their value where X window is not available or the limited network bandwidth. Many popular tools developed on top of ncurses, like Midnight Commander, vi, nano, and htop, are still popular.


In this course, a TUI file management tool will be developed to demonstrate how to use ncurses library. Here are what you will learn:


1. Basics of ncurses library, like ncurses initialization;

2. Introduce the terminal that ncurses relies on;

3. How to use window;

4. How to output text;

5. How to render text with the font type face like bold or underline, and colors;

6. How to read key input from user, or text from screen;

7. How to use mouse in a TUI program;

8. How to make a window scroll;

9. How to use pad, and what's the difference between window and pad;

10. How to use panel extension manage overlapping windows;

11. How to display a menu or a cascading menu;

12. How to use form to collect user's input, including multi-page form.


This course is also helpful, if you are going to use ncurses++, python curses module, or the Rust version, ncurses-rs. They share the same program model with ncurses.


Look forward to seeing you in the course.

Who this course is for:

  • Developer curious with TUI (Text-base User Interface) program and curses technology
  • Developer curious with ncurses, or other ncurses wrapper library like ncueses++, Python curses module, or ncurses-rs