Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

NAME

curses_cursor, getcury, getcurx, getsyx, getyx, getbegy, getbegx, getbegyx, getmaxy, getmaxx, getmaxyx, getpary, getparx, getparyx, move, setsyx, wmove, mvcur, wcursyncup — curses cursor and window location and positioning routines

LIBRARY

Curses Library (libcurses, -lcurses)

SYNOPSIS

#include <curses.h>
int
getcury(WINDOW *win);
int
getcurx(WINDOW *win);
int
getsyx(int y, int x);
void
getyx(WINDOW *win, int y, int x);
int
getbegy(WINDOW *win);
int
getbegx(WINDOW *win);
void
getbegyx(WINDOW *win, int y, int x);
int
getmaxy(WINDOW *win);
int
getmaxx(WINDOW *win);
void
getmaxyx(WINDOW *win, int y, int x);
int
getpary(WINDOW *win);
int
getparx(WINDOW *win);
void
getparyx(WINDOW *win, int y, int x);
int
move(int y, int x);
int
setsyx(int y, int x);
int
wmove(WINDOW *win, int y, int x);
int
mvcur(int oldy, int oldx, int y, int x);
void
wcursyncup(WINDOW *win);

DESCRIPTION

These functions and macros locate and position cursors and windows.
The getcury() and getcurx() functions get the current row and column positions, respectively, of the cursor in the window win. The getyx() macro sets the values of y and x to the current row and column positions of the cursor in the window win.
The getsyx() macro sets the values of y and x of the current window if is_leaveok() is false, otherwise -1, -1. The setsyx() macro sets the row and column positions, respectively, of the cursor in the current window to the values of y and x. If both y and x are both -1 then leaveok() is set.
The origin row and columns of a window win can be determined by calling the getbegy() and getbegx() functions, respectively, and the maximum row and column for the window can be found by calling the functions getmaxy() and getmaxx(), respectively. The getbegyx() and getmaxyx() macros set the values of y and x to the origin and maximum row and column positions, respectively, for the window win.
The getpary() and getparx() functions return the row and column position of the given subwindow relative to the window's parent. The macro getparyx() sets the values of y and x to the origin of the subwindow relative to the window's parent.
The move() function positions the cursor on the current window at the position given by y, x. The cursor position is not changed on the screen until the next refresh().
The wmove() function is the same as the move() function, excepting that the cursor is moved in the window specified by win.
The function mvcur() moves the cursor to y, x on the screen. The arguments oldy, oldx define the previous cursor position for terminals that do not support absolute cursor motions. The curses library may optimise the cursor motion based on these values. If the mvcur() succeeds then the curses internal structures are updated with the new position of the cursor. If the destination arguments for mvcur() exceed the terminal bounds an error will be returned and the cursor position will be unchanged.
The wcursyncup() function sets the cursor positions of all ancestors of win to that of win.

RETURN VALUES

Functions returning pointers will return NULL if an error is detected. The functions that return an int will return one of the following values:
OK
The function completed successfully.
ERR
An error occurred in the function.

SEE ALSO

curses_refresh(3)

STANDARDS

The NetBSD Curses library complies with the X/Open Curses specification, part of the Single Unix Specification. The getbegx(), getbegy(), getcurx(), getcury(), getmaxx(), getmaxy(), getparx(), and getpary() functions are extensions.

HISTORY

The Curses package appeared in 4.0BSD. The getsyx() and setsyx() functions are ncurses extensions to the Curses library and were added in NetBSD 8.0.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org