curs_ins_wch(3X) Library calls curs_ins_wch(3X)
NAME
ins_wch, wins_wch, mvins_wch, mvwins_wch - insert a curses complex
character in a window
SYNOPSIS
#include <curses.h>
int ins_wch(const cchar_t * wch);
int wins_wch(WINDOW * win, const cchar_t * wch);
int mvins_wch(int y, int x, const cchar_t * wch);
int mvwins_wch(WINDOW * win, int y, int x, const cchar_t * wch);
DESCRIPTION
wins_wch inserts the curses complex character wch at the cursor position
in the window win. The character previously at the cursor and any to its
right move one cell to the right; the formerly rightmost character on the
line is discarded. Unlike add_wch(3X), wins_wch does not advance the
cursor. ncurses(3X) describes the variants of this function.
RETURN VALUE
These functions return OK on success and ERR on failure.
In ncurses, they return ERR if
o the curses screen has not been initialized, or
o (for functions taking a WINDOW pointer argument) win is a null
pointer.
Functions prefixed with "mv" first perform cursor movement and fail if
the position (y, x) is outside the window boundaries.
NOTES
ins_wch, mvins_wch, and mvwins_wch may be implemented as macros.
curses does not necessarily employ the terminal's insert_character (ich1)
capability to achieve insertion.
PORTABILITY
X/Open Curses Issue 4 describes these functions. It specifies no error
conditions for them.
HISTORY
X/Open Curses Issue 4 (1995) initially specified these functions. The
System V Interface Definition Version 4 of the same year specified a
function named winswch (and the usual variants). This was a later
addition to SVr4.x, not appearing in the first SVr4 (1989). It differed
from X/Open's later wins_wch in that it took an argument of type chtype
instead of cchar_t.
SEE ALSO
curs_insch(3X) describes comparable functions in the non-wide-character
curses configuration.
curses(3X), terminfo(5)
ncurses 6.6 2025-10-20 curs_ins_wch(3X)