https://invisible-island.net/ncurses/man/


curs_inch 3x 2025-02-15 ncurses 6.5 Library calls

curs_inch(3x)                    Library calls                   curs_inch(3x)


NAME

       inch, winch, mvinch, mvwinch - get a curses character from a window


SYNOPSIS

       #include <curses.h>

       chtype inch(void);
       chtype winch(WINDOW * win);
       chtype mvinch(int y, int x);
       chtype mvwinch(WINDOW * win, int y, int x);


DESCRIPTION

       winch  returns the curses character, including its attributes and color
       pair identifier, at the cursor position in the window win.   Subsection
       "Video  Attributes"  of  attron(3x)  explains how to extract these data
       from a chtype.  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

       inch, mvinch, and mvwinch may be implemented as macros.

       These  functions  do  not  fail  if the window contains cells of curses
       complex characters; that is, if  they  contain  characters  with  codes
       wider  than  eight  bits  (or  greater  than 255 as an unsigned decimal
       integer).  They instead extract only the low-order eight  bits  of  the
       character code from the cell.


PORTABILITY

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


HISTORY

       The  original  curses in 4BSD (1980) defined winch as a macro accessing
       the WINDOW structure member representing character cell data,  at  that
       time  a  char,  containing  only  a  7-bit  ASCII  character code and a
       "standout" attribute bit, the only one the library supported.

       SVr2 curses (1984) extended this approach, widening the character  code
       to  eight bits and permitting several attributes to be combined with it
       by storing them together in a  chtype,  an  alias  of  unsigned  short.
       Because  a macro was used, its value was not type-checked as a function
       return value could have been.  Goodheart documented SVr3  (1987)  winch
       as  returning  an  int.   SVr3.1's  (1987)  chtype  became  an alias of
       unsigned long, using 16 bits for the character code  and  widening  the
       type in practical terms to 32 bits, as 64-bit Unix systems were not yet
       in wide use, and fixed-width integral types would not be standard until
       ISO  C99.   SVr3.2 (1988) added a 6-bit color pair identifier alongside
       the attributes.


SEE ALSO

       curs_in_wch(3x) describes comparable functions of the  ncurses  library
       in its wide-character configuration (ncursesw).

       curses(3x), curs_instr(3x)

ncurses 6.5                       2025-02-15                     curs_inch(3x)