---
name: "mvwins_wch"
section: "3ncurses"
platform: "linux"
package: "ncurses-doc"
version: "6.5+20250216-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ins_wch/3ncurses"
---

# mvwins\_wch(3ncurses)

insert a curses complex character in a window

Part of [ins\_wch(3ncurses)](/ins_wch/3ncurses.md).

## 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

**These functions insert the** *curses* **complex character** *wch* **at the cursor in the specified window** *win* **(or** **stdscr**). **The character previously at the cursor and any to its right move one** **cell to the right;** **the rightmost character on the line is discarded.** **The cursor does not advance.**

## RETURN VALUE

**These functions return OK on success and ERR on failure.**

**Functions taking a** *WINDOW* **pointer argument fail if** *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.**

**A terminal's** **insert\_character** (**ich1**) **capability** **is not necessarily employed.**

## 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

**insch(3NCURSES) describes comparable functions in the** **non-wide-character** *curses* **configuration.**

**ncurses(3NCURSES),** **[terminfo(5)](/terminfo/5.md)**
