Learn NCURSES by writing a TUI file management tool
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.
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
- Introduction –> 2 lectures • 16min.
- NCURSES Library –> 12 lectures • 2hr 34min.
- NCURSES Extensions –> 5 lectures • 1hr 25min.
Requirements
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.