in_wch(3)

in_wch3

Get a curses complex character from a window

Part of curs_in_wch(3).

Usage

#include <curses.h>

int in_wch(cchar_t * wch); int win_wch(WINDOW * win, cchar_t * wch); int mvin_wch(int y, int x, cchar_t * wch); int mvwin_wch(WINDOW * win, int y, int x, cchar_t * wch);

Overview

win_wch copies the curses complex character at the cursor position in win into wch. Use getcchar(3X) to extract its character code, attributes, and color pair identifier. 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 win is NULL.

Functions prefixed with “mv” first perform cursor movement and fail if the position (y, x) is outside the window boundaries.

Notes

in_wch, mvin_wch, and mvwin_wch may be implemented as macros.

Unlike winch(3X), win_wch and its variants store the value of the retrieved character in an additional wch parameter instead of the return value.

Portability

X/Open Curses Issue 4 describes these functions. It specifies no error conditions for them.

Releases

46 releases since FreeBSD 6.3-RELEASE; the text changed 7 times.

  1. 6.3–10.4
  2. 11.0–12.4
  3. 13.0–13.5
  4. 14.0–14.1
  5. 14.2–14.4
  6. 14.5
  7. 15.0
  8. 15.1–16.0

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 winwch (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 win_wch in that it returned a value of type chtype instead of cchar_t.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's man source.