plucky (3) scroll.3ncurses.gz

Provided by: ncurses-doc_6.5+20250216-1_all bug

NAME

       scroll, scrl, wscrl - scroll a curses window

SYNOPSIS

       #include <curses.h>

       int scroll(WINDOW * win);

       int scrl(int n);
       int wscrl(WINDOW * win, int n);

DESCRIPTION

       scroll  scrolls the given window up one line.  That is, every visible line we might number i becomes line
       i-1.  wscrl and scrl scroll the specified window or stdscr, respectively, up or down per the sign of n.

       •   For positive n, line i+n becomes i (scrolling up);

       •   for negative n, line i-n becomes i (scrolling down).

       A line that scrolls beyond the window boundaries disappears; curses populates a new one emerging  at  the
       opposite   boundary  with  the  background  character;  see  bkgd(3NCURSES)  (wide-character  API  users:
       bkgrnd(3NCURSES)).  As an optimization, if the scrolling region of the window is the entire  screen,  the
       physical screen may be scrolled at the same time; see curscr(3NCURSES).

       The  cursor  does  not  move.   These  functions perform no operation unless scrolling is enabled for the
       window via scrollok(3NCURSES).

RETURN VALUE

       These functions return ERR upon failure and OK upon success.

       In ncurses, they return ERR if

       •   the curses screen has not been initialized,

       •   win is a null pointer, or

       •   scrolling is not enabled in the window (as by scrollok(3NCURSES)).

NOTES

       scroll and scrl may be implemented as macros.

       Unusually, there is no wscroll function; scroll behaves as one  would  expect  wscroll  to,  accepting  a
       WINDOW pointer argument.

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”.

       SVr4  indicates  that  the  optimization  of physically scrolling immediately if the scroll region is the
       entire screen “is” performed, not “may be” performed.  ncurses deliberately does not guarantee that  this
       occurs,  to  leave  open  the  possibility  of better optimization of multiple scroll actions on the next
       update.

       Neither SVr4 curses nor X/Open Curses specify whether these functions zero the attributes or  color  pair
       identifier of the background character.  In ncurses, they do not.

HISTORY

       4BSD (1980) introduced scroll, defining it as a function.

       SVr3.1 (1987) added scrl and wscrl, redefining scroll as a macro wrapping the latter.

SEE ALSO

       ncurses(3NCURSES), outopts(3NCURSES)