curs\_opaque(3X) Library calls curs\_opaque(3X)

# [NAME](#NAME)

**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** - obtain *curses* window properties

# [SYNOPSIS](#SYNOPSIS)

```
#include <curses.h>
```

```
bool is_cleared(const WINDOW *win);
bool is_idcok(const WINDOW *win);
bool is_idlok(const WINDOW *win);
bool is_immedok(const WINDOW *win);
bool is_keypad(const WINDOW *win);
bool is_leaveok(const WINDOW *win);
bool is_nodelay(const WINDOW *win);
bool is_notimeout(const WINDOW *win);
bool is_pad(const WINDOW *win);
bool is_scrollok(const WINDOW *win);
bool is_subwin(const WINDOW *win);
bool is_syncok(const WINDOW *win);
```

```
WINDOW * wgetparent(const WINDOW *win);
int wgetdelay(const WINDOW *win);
int wgetscrreg(const WINDOW *win, int *top, int *bottom);
```

# [DESCRIPTION](#DESCRIPTION)

*ncurses* provides functions returning properties of a *WINDOW* structure, allowing it to be “opaque” if the application defines the **NCURSES\_OPAQUE** preprocessor symbol. *Opacity* in this sense means that the members of *struct* data types are not directly accessible (for instance, through “.” or “-&gt;” operators), but instead must be queried and/or set via library functions. Advantages of opacity include greater abstraction and improved management of concurrent accesses to data structures, keeping object states coherent.

[**is\_cleared**](#is_cleared)

returns the value set by [**clearok**(3X)](/man/os/ncurses/clearok.3X).

[**is\_idcok**](#is_idcok)

returns the value set by [**idcok**(3X)](/man/os/ncurses/idcok.3X).

[**is\_idlok**](#is_idlok)

returns the value set by [**idlok**(3X)](/man/os/ncurses/idlok.3X).

[**is\_immedok**](#is_immedok)

returns the value set by [**immedok**(3X)](/man/os/ncurses/immedok.3X).

[**is\_keypad**](#is_keypad)

returns the value set by [**keypad**(3X)](/man/os/ncurses/keypad.3X).

[**is\_leaveok**](#is_leaveok)

returns the value set by [**leaveok**(3X)](/man/os/ncurses/leaveok.3X).

[**is\_nodelay**](#is_nodelay)

returns the value set by [**nodelay**(3X)](/man/os/ncurses/nodelay.3X).

[**is\_notimeout**](#is_notimeout)

returns the value set by [**notimeout**(3X)](/man/os/ncurses/notimeout.3X).

[**is\_pad**](#is_pad)

returns **TRUE** if the window is a pad; that is, it was created by [**newpad**(3X)](/man/os/ncurses/newpad.3X).

[**is\_scrollok**](#is_scrollok)

returns the value set by [**scrollok**(3X)](/man/os/ncurses/scrollok.3X).

[**is\_subwin**](#is_subwin)

returns **TRUE** if the window is a subwindow, that is, it was created by [**subwin**(3X)](/man/os/ncurses/subwin.3X) or [**derwin**(3X)](/man/os/ncurses/derwin.3X).

[**is\_syncok**](#is_syncok)

returns the value set by [**syncok**(3X)](/man/os/ncurses/syncok.3X).

[**wgetdelay**](#wgetdelay)

returns the delay timeout set by [**wtimeout**(3X)](/man/os/ncurses/wtimeout.3X).

[**wgetparent**](#wgetparent)

returns the parent *WINDOW* pointer for subwindows, or *NULL* for windows having no parent.

[**wgetscrreg**](#wgetscrreg)

stores the top and bottom rows for the scrolling margin set by [**wsetscrreg**(3X)](/man/os/ncurses/wsetscrreg.3X) in the corresponding arguments, returning **ERR** upon failure and **OK** upon successful completion.

# [RETURN VALUE](#RETURN_VALUE)

These functions return **TRUE** or **FALSE** except as noted.

# [NOTES](#NOTES)

*ncurses* provides both a C function and a preprocessor macro for each function documented in this page.

# [EXTENSIONS](#EXTENSIONS)

These functions originated with *ncurses*.

# [PORTABILITY](#PORTABILITY)

Applications employing *ncurses* extensions should condition their use on the visibility of the **NCURSES\_VERSION** preprocessor macro.

NetBSD *curses* since 10.1 (2024) supports *wgetscr\_reg*. It also implements *getscr\_reg*, operating on *stdscr*.

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X), [**curs\_inopts**(3X)](/man/os/ncurses/curs_inopts.3X), [**curs\_outopts**(3X)](/man/os/ncurses/curs_outopts.3X), [**curs\_threads**(3X)](/man/os/ncurses/curs_threads.3X), [**curs\_window**(3X)](/man/os/ncurses/curs_window.3X)

2025-02-15 ncurses 6.6

---

Document: is_immedok(3x) from ncurses 6.6.20261031-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
