curs_scroll(3x) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | NOTES | PORTABILITY | HISTORY | SEE ALSO | COLOPHON

curs_scroll(3X)               Library calls               curs_scroll(3X)

NAME         top

       scroll, scrl, wscrl - scroll a curses window

SYNOPSIS         top

       #include <curses.h>

       int scroll(WINDOW * win);

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

DESCRIPTION         top

       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(3X) (wide-character API users:
       bkgrnd(3X)).  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(3X).

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

RETURN VALUE         top

       These functions return ERR upon failure and OK upon success.

       In ncurses, they return ERR if

       •   the curses screen has not been initialized,

       •   (for functions taking a WINDOW pointer argument) win is a null
           pointer, or

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

NOTES         top

       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         top

       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         top

       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         top

       curses(3X), curs_outopts(3X)

COLOPHON         top

       This page is part of the ncurses (new curses) project.
       Information about the project can be found at 
       ⟨https://invisible-island.net/ncurses/ncurses.html⟩.  If you have a
       bug report for this manual page, send it to bug-ncurses@gnu.org.
       This page was obtained from the tarball ncurses-6.6.tar.gz fetched
       from ⟨https://ftp.gnu.org/gnu/ncurses/⟩ on 2026-01-16.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for the
       page, or you have corrections or improvements to the information
       in this COLOPHON (which is not part of the original manual page),
       send a mail to man-pages@man7.org

ncurses @NCURSES_MAJOR@.@NCU... 2025-04-05                curs_scroll(3X)