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

# [NAME](#NAME)

**move**, **wmove** - move cursor in a *curses* window

# [SYNOPSIS](#SYNOPSIS)

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

```
int move(int y, int x);
int wmove(WINDOW * win, int y, int x);
```

# [DESCRIPTION](#DESCRIPTION)

**wmove** relocates the cursor associated with the *curses* window *win* to line *y* and column *x*. The terminal's cursor does not move until [**refresh**(3X)](/man/os/ncurses/refresh.3X) is called. The position (*y*, *x*) is relative to the upper left-hand corner of the window, which has coordinates (0, 0). **move** similarly moves the cursor in the **stdscr** window.

# [RETURN VALUE](#RETURN_VALUE)

These functions return **OK** on success and **ERR** on failure. In *ncurses*, these functions fail if

- the *curses* screen has not been initialized,
- (for **wmove**) *win* is a null pointer, or
- the position (*y*, *x*) is outside the window boundaries.

# [NOTES](#NOTES)

**move** may be implemented as a macro.

# [PORTABILITY](#PORTABILITY)

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

SVr4 describes a successful return value only as “an integer value other than *ERR*”.

# [HISTORY](#HISTORY)

4BSD (1980) introduced these functions.

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X), [**curs\_refresh**(3X)](/man/os/ncurses/curs_refresh.3X)

2025-04-05 ncurses 6.6

---

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