---
name: "curs_move"
section: "3x"
platform: "linux"
package: "ncurses"
version: "6.6-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/curs_move/3x"
---

# curs\_move(3x)

move cursor in a curses window

## NAME

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

## SYNOPSIS

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

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

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

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

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

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

**4BSD (1980)** **introduced these functions.**

## SEE ALSO

**curses(3X),** **curs\_refresh(3X)**
