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

# opaque(3ncurses)

obtain curses window properties

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

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

*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 “-\>” 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**

  **returns the value set by clearok(3NCURSES).**

- **is\_idcok**

  **returns the value set by idcok(3NCURSES).**

- **is\_idlok**

  **returns the value set by idlok(3NCURSES).**

- **is\_immedok**

  **returns the value set by immedok(3NCURSES).**

- **is\_keypad**

  **returns the value set by keypad(3NCURSES).**

- **is\_leaveok**

  **returns the value set by leaveok(3NCURSES).**

- **is\_nodelay**

  **returns the value set by nodelay(3NCURSES).**

- **is\_notimeout**

  **returns the value set by notimeout(3NCURSES).**

- **is\_pad**

  **returns TRUE if the window is a pad;** **that is,** **it was created by newpad(3NCURSES).**

- **is\_scrollok**

  **returns the value set by scrollok(3NCURSES).**

- **is\_subwin**

  **returns TRUE if the window is a subwindow,** **that is,** **it was created by subwin(3NCURSES) or derwin(3NCURSES).**

- **is\_syncok**

  **returns the value set by syncok(3NCURSES).**

- **wgetdelay**

  **returns the delay timeout set by wtimeout(3NCURSES).**

- **wgetparent**

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

- **wgetscrreg**

  **stores the top and bottom rows for the scrolling margin set by** **wsetscrreg(3NCURSES) in the corresponding arguments,** **returning ERR upon failure and OK upon successful** **completion.**

## RETURN VALUE

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

## NOTES

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

## EXTENSIONS

**These functions originated with** *ncurses*.

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

**ncurses(3NCURSES),** **inopts(3NCURSES),** **outopts(3NCURSES),** **threads(3NCURSES),** **window(3NCURSES)**
