ncurses is a library to write programs with a TUI, I used ncurses to implement MixerTUI and currently BSDDialog. The library is released under a permissive open source license so the FreeBSD Operating System provides it in BASE (and in PORTS devel/ncurses).
The following table lists the manuals linking to https://man.freebsd.org, the ncurses project provides also some tool but the table takes into account only the API.
Finally a curiosity, other libraries derive from the 4.4 BSD curses library, for example the NetBSD Operating System provides its implementation; to know more: en.wikipedia.org/wiki/Curses_(programming_library) and en.wikipedia.org/wiki/Ncurses.
Manual | Short Description | Functions, macros, etc. |
---|---|---|
curs_add_wch(3x) | Add a complex character and rendition to a curses window, then advance the cursor. | add_wch, wadd_wch, mvadd_wch, mvwadd_wch, echo_wchar, wecho_wchar |
curs_add_wchstr(3x) | Add an array of complex characters (and attributes) to a curses window. | add_wchstr, add_wchnstr, wadd_wchstr, wadd_wchnstr, mvadd_wchstr, mvadd_wchnstr, mvwadd_wchstr, mvwadd_wchnstr |
curs_addch(3x) | Add a character (with attributes) to a curses window, then advance the cursor. | addch, waddch, mvaddch, mvwaddch, echochar, wechochar |
curs_addchstr(3x) | Add a string of characters (and attributes) to a curses window. | addchstr, addchnstr, waddchstr, waddchnstr, mvaddchstr, mvaddchnstr, mvwaddchstr, mvwaddchnstr |
curs_addstr(3x) | Add a string of characters to a curses window and advance cursor. | addstr, addnstr, waddstr, waddnstr, mvaddstr, mvaddnstr, mvwaddstr, mvwaddnstr |
curs_addwstr(3x) | Add a string of wide characters to a curses window and advance cursor. | addwstr, addnwstr, waddwstr, waddnwstr, mvaddwstr, mvaddnwstr, mvwaddwstr, mvwaddnwstr |
curs_attr(3x) | Curses character and window attribute control routines. | attr_get, wattr_get, attr_set, wattr_set, attr_off, wattr_off, attr_on, wattr_on, attroff, wattroff, attron, wattron, attrset, wattrset, chgat, wchgat, mvchgat, mvwchgat, color_set, wcolor_set, standend, wstandend, standout, wstandout |
curs_beep(3x) | Curses bell and screen flash routines. | beep flash |
curs_bkgd(3x) | Curses window background manipulation routines. | bkgdset wbkgdset, bkgd wbkgd, getbkgd |
curs_bkgrnd(3x) | Curses window complex background manipulation routines. | bkgrnd, wbkgrnd, bkgrndset, wbkgrndset, getbkgrnd, wgetbkgrnd |
curs_border(3x) | Create curses borders, horizontal and vertical lines. | border, wborder, box, hline, whline, vline, wvline, mvhline, mvwhline, mvvline, mvwvline |
curs_border_set(3x) | Create curses borders or lines using complex characters and renditions. | border_set, wborder_set, box_set, hline_set, whline_set, mvhline_set, mvwhline_set, vline_set, wvline_set, mvvline_set, mvwvline_set |
curs_clear(3x) | Clear all or part of a curses window. | erase, werase, clear, wclear, clrtobot, wclrtobot, clrtoeol, wclrtoeol |
curs_color(3x) | Curses color manipulation routines. | start_color, has_colors, can_change_color, init_pair, init_color, init_extended_pair, init_extended_color, color_content, pair_content, extended_color_content, extended_pair_content, reset_color_pairs, COLOR_PAIR, PAIR_NUMBER |
curs_delch(3x) | Delete character under the cursor in a curses window. | delch, wdelch, mvdelch, mvwdelch |
curs_deleteln(3x) | Delete and insert lines in a curses window. | deleteln, wdeleteln, insdelln, winsdelln, insertln, winsertln |
curs_extend(3x) | Miscellaneous curses extensions. | curses_version, use_extended_names |
curs_get_wch(3x) | Get (or push back) a wide character from curses terminal keyboard. | get_wch, wget_wch, mvget_wch, mvwget_wch, unget_wch |
curs_get_wstr(3x) | Get an array of wide characters from a curses terminal keyboard. | get_wstr, getn_wstr, wget_wstr, wgetn_wstr, mvget_wstr, mvgetn_wstr, mvwget_wstr, mvwgetn_wstr |
curs_getcchar(3x) | Get a wide character string and rendition from a cchar_t or set a cchar_t from a wide-character string. | getcchar, setcchar |
curs_getch(3x) | Get (or push back) characters from curses terminal keyboard. | getch, wgetch, mvgetch, mvwgetch, ungetch, has_key |
curs_getstr(3x) | Accept character strings from curses terminal keyboard. | getstr, getnstr, wgetstr, wgetnstr, mvgetstr, mvgetnstr, mvwgetstr, mvwgetnstr |
curs_getyx(3x) | Get curses cursor and window coordinates. | getyx, getparyx, getbegyx, getmaxyx |
curs_in_wch(3x) | Extract a complex character and rendition from a window. | in_wch, mvin_wch, mvwin_wch, win_wch |
curs_in_wchstr(3x) | Get an array of complex characters and renditions from a curses window. | in_wchstr, in_wchnstr, win_wchstr, win_wchnstr, mvin_wchstr, mvin_wchnstr, mvwin_wchstr, mvwin_wchnstr |
curs_inch(3x) | Get a character and attributes from a curses window. | inch, winch, mvinch, mvwinch |
curs_inchstr(3x) | Get a string of characters (and attributes) from a curses window. | inchstr, inchnstr, winchstr, winchnstr, mvinchstr, mvinchnstr, mvwinchstr, mvwinchnstr |
curs_initscr(3x) | Curses screen initialization and manipulation routines. | initscr, newterm, endwin, isendwin, set_term, delscreen |
curs_inopts(3x) | Curses input options. | cbreak, nocbreak, echo, noecho, halfdelay, intrflush, keypad, meta, nl, nonl, nodelay, notimeout, raw, noraw, qiflush, noqiflush, timeout, wtimeout, typeahead |
curs_ins_wch(3x) | Insert a complex character and rendition into a window. | ins_wch, mvins_wch, mvwins_wch, wins_wch |
curs_ins_wstr(3x) | Insert a wide-character string into a curses window. | ins_wstr, ins_nwstr, wins_wstr, wins_nwstr, mvins_wstr, mvins_nwstr, mvwins_wstr, mvwins_nwstr |
curs_insch(3x) | Insert a character before cursor in a curses window. | insch, winsch, mvinsch, mvwinsch |
curs_insstr(3x) | Insert string before cursor in a curses window. | insstr, insnstr, winsstr, winsnstr, mvinsstr, mvinsnstr, mvwinsstr, mvwinsnstr |
curs_instr(3x) | Get a string of characters from a curses window. | instr, innstr, winstr, winnstr, mvinstr, mvinnstr, mvwinstr, mvwinnstr |
curs_inwstr(3x) | Get a string of wchar_t characters from a curses window. | inwstr, innwstr, winwstr, winnwstr, mvinwstr, mvinnwstr, mvwinwstr, mvwinnwstr |
curs_kernel(3x) | Low-level curses routines. | def_prog_mode, def_shell_mode, reset_prog_mode, reset_shell_mode, resetty, savetty, getsyx, setsyx, ripoffline, curs_set, napms |
curs_legacy(3x) | Get curses cursor and window coordinates, attributes. | curs_legacy |
curs_memleaks(3x) | Curses memory-leak checking. | exit_curses, exit_terminfo |
curs_mouse(3x) | Mouse interface through curses. | has_mouse, getmouse ungetmouse, mousemask wenclose, mouse_trafo wmouse_trafo, mouseinterval |
curs_move(3x) | Move curses window cursor. | move, wmove |
curs_opaque(3x) | Curses window properties. | is_cleared, is_idlok, is_idcok, is_immedok, is_keypad, is_leaveok, is_nodelay, is_notimeout, is_pad, is_scrollok, is_subwin, is_syncok, wgetdelay, wgetparent, wgetscrreg |
curs_outopts(3x) | Curses output options. | clearok, idlok, idcok, immedok, leaveok, setscrreg, wsetscrreg, scrollok |
curs_overlay(3x) | Overlay and manipulate overlapped curses windows. | overlay, overwrite, copywin |
curs_pad(3x) | Create and display curses pads. | newpad, subpad, prefresh, pnoutrefresh, pechochar, pecho_wchar |
curs_print(3x) | Ship binary data to printer. | mcprint |
curs_printw(3x) | Print formatted output in curses windows. | printw, wprintw, mvprintw, mvwprintw, vwprintw vw_printw |
curs_refresh(3x) | Refresh curses windows and lines. | doupdate, redrawwin, refresh, wnoutrefresh, wredrawln, wrefresh |
curs_scanw(3x) | Convert formatted input from a curses window. | scanw, wscanw, mvscanw, mvwscanw, vwscanw vw_scanw |
curs_scr_dump(3x) | Read (write) a curses screen from (to) a file. | scr_dump, scr_restore, scr_init, scr_set |
curs_scroll(3x) | Scroll a curses window. | scroll, scrl, wscrl |
curs_slk(3x) | Curses soft label routines. | slk_init, slk_set, slk_wset, slk_refresh, slk_noutrefresh, slk_label, slk_clear, slk_restore, slk_touch, slk_attron, slk_attrset, slk_attroff, slk_attr_on, slk_attr_set, slk_attr_off, slk_attr, slk_color, extended_slk_color |
curs_sp_funcs(3x) | Curses screen-pointer extension. | curs_sp_funcs |
curs_termattrs(3x) | Curses environment query routines. | baudrate, erasechar, erasewchar, has_ic, has_il, killchar, killwchar, longname, term_attrs, termattrs, termname |
curs_termcap(3x) | Curses emulation of termcap. | PC, UP, BC, ospeed, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs |
curs_terminfo(3x) | Curses interfaces to terminfo database. | del_curterm, mvcur, putp, restartterm, set_curterm, setupterm, tigetflag, tigetnum, tigetstr, tiparm, tparm, tputs, vid_attr, vid_puts, vidattr, vidputs |
curs_threads(3x) | Curses thread support. | curs_threads |
curs_touch(3x) | Curses refresh control routines. | touchwin, touchline, untouchwin, wtouchln, is_linetouched, is_wintouched |
curs_trace(3x) | Curses debugging routines. | curses_trace, trace, _tracef, _traceattr, _traceattr2, _tracecchar_t, _tracecchar_t2, _tracechar, _tracechtype, _tracechtype2, _nc_tracebits, _tracedump, _tracemouse |
curs_util(3x) | Miscellaneous curses utility routines. | delay_output, filter, flushinp, getwin, key_name, keyname, nofilter, putwin, unctrl, use_env, use_tioctl, wunctrl |
curs_variables(3x) | Curses global variables. | COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE, curscr, newscr, stdscr |
curs_window(3x) | Create curses windows. | newwin, delwin, mvwin, subwin, derwin, mvderwin, dupwin, wsyncup, syncok, wcursyncup, wsyncdown |
default_colors(3x) | Use terminal’s default colors. | use_default_colors, assume_default_colors |
define_key(3x) | Define a keycode. | define_key |
form(3x) | Curses extension for programming forms. | form |
form_cursor(3x) | Position a form window cursor. | pos_form_cursor |
form_data(3x) | Test for off-screen data in given forms. | data_ahead, data_behind |
form_driver(3x) | Command-processing loop of the form system. | form_driver, form_driver_w |
form_field(3x) | Make and break connections between fields and forms. | form_field |
form_field_attributes(3x) | Color and attribute control for form fields. | form_field_attributes |
form_field_buffer(3x) | Field buffer control. | form_field_buffer |
form_field_info(3x) | Retrieve field characteristics. | dynamic_field_info, field_info |
form_field_just(3x) | Retrieve field characteristics. | set_field_just, field_just |
form_field_new(3x) | Create and destroy form fields. | new_field, dup_field, link_field, free_field |
form_field_opts(3x) | Set and get field options. | set_field_opts, field_opts_on, field_opts_off, field_opts |
form_field_userptr(3x) | Associate application data with a form field. | set_field_userptr, field_userptr |
form_field_validation(3x) | Data type validation for fields. | form_field_validation |
form_fieldtype(3x) | Define validation-field types. | form_fieldtype |
form_hook(3x) | Set hooks for automatic invocation by applications. | form_hook |
form_new(3x) | Create and destroy forms. | new_form, free_form |
form_new_page(3x) | Form pagination functions. | set_new_page, new_page |
form_opts(3x) | Set and get form options. | set_form_opts, form_opts_on, form_opts_off, form_opts |
form_page(3x) | Set and get form page number. | form_page |
form_post(3x) | Write or erase forms from associated subwindows. | post_form, unpost_form |
form_requestname(3x) | Handle printable form request names. | form_request_by_name, form_request_name |
form_userptr(3x) | Associate application data with a form item. | set_form_userptr, form_userptr |
form_variables(3x) | Form system global variables. | TYPE_ALNUM, TYPE_ALPHA, TYPE_ENUM, TYPE_INTEGER, TYPE_IPV4, TYPE_NUMERIC, TYPE_REGEXP |
form_win(3x) | Make and break form window and subwindow associations. | form_win |
key_defined(3x) | Check if a keycode is defined. | key_defined |
keybound(3x) | Return definition of keycode. | keybound |
keyok(3x) | Enable or disable a keycode. | keyok |
legacy_coding(3x) | Override locale-encoding checks. | use_legacy_coding |
menu(3x) | Curses extension for programming menus. | menu |
menu_attributes(3x) | Color and attribute control for menus. | menu_back, menu_fore, menu_grey, menu_pad, set_menu_back, set_menu_fore, set_menu_grey, set_menu_pad |
menu_cursor(3x) | Position a menu’s cursor. | pos_menu_cursor |
menu_driver(3x) | Command-processing loop of the menu system. | menu_driver |
menu_format(3x) | Set and get menu sizes. | set_menu_format, menu_format |
menu_hook(3x) | Set hooks for automatic invocation by applications. | menu_hook |
menu_items(3x) | Make and break connections between items and menus. | set_menu_items, menu_items, item_count |
menu_mark(3x) | Get and set the menu mark string. | set_menu_mark, menu_mark |
menu_new(3x) | Create and destroy menus. | new_menu, free_menu |
menu_opts(3x) | Set and get menu options. | set_menu_opts, menu_opts_on, menu_opts_off, menu_opts |
menu_pattern(3x) | Set and get a menu’s pattern buffer. | set_menu_pattern, menu_pattern |
menu_post(3x) | Write or erase menus from associated subwindows. | post_menu, unpost_menu |
menu_requestname(3x) | Handle printable menu request names. | menu_request_by_name, menu_request_name |
menu_spacing(3x) | Set and get spacing between menu items.. | set_menu_spacing, menu_spacing |
menu_userptr(3x) | Associate application data with a menu item. | set_menu_userptr, menu_userptr |
menu_win(3x) | Make and break menu window and subwindow associations. | menu_win |
mitem_current(3x) | Set and get current_menu_item. | mitem_current |
mitem_name(3x) | Get menu item name and description fields. | item_name, item_description |
mitem_new(3x) | Create and destroy menu items. | new_item, free_item |
mitem_opts(3x) | Set and get menu item options. | set_item_opts, item_opts_on, item_opts_off, item_opts |
mitem_userptr(3x) | Associate application data with a menu item. | set_item_userptr, item_userptr |
mitem_value(3x) | Set and get menu item values. | set_item_value, item_value |
mitem_visible(3x) | Check visibility of a menu item. | mitem_visible |
ncurses(3x) | Crt screen handling and optimization package. | ncurses |
new_pair(3x) | New curses color-pair functions. | alloc_pair, find_pair, free_pair |
panel(3x) | Panel stack extension for curses. | panel |
resizeterm(3x) | Change the curses terminal size. | is_term_resized, resize_term, resizeterm |
term_variables(3x) | Curses terminfo global variables. | SP, acs_map, boolcodes, boolfnames, boolnames, cur_term, numcodes, numfnames, numnames, strcodes, strfnames, strnames, ttytype |
wresize(3x) | Resize a curses window. | wresize |