The scroll routine scrolls the window up one line. This involves
moving the lines in the window data structure. As an
optimization, if the scrolling region of the window is the entire
screen, the physical screen may be scrolled at the same time.
For positive n, the scrl and wscrl routines scroll the window up
n lines (line i+n becomes i); otherwise scroll the window down n
lines. This involves moving the lines in the window character
image structure. The current cursor position is not changed.
For these functions to work, scrolling must be enabled via
These routines return ERR upon failure, and OK (SVr4 only
specifies "an integer value other than ERR") upon successful
X/Open defines no error conditions.
This implementation returns an error if the window pointer is
null, or if scrolling is not enabled in the window, e.g., with
Note that scrl and scroll may be macros.
The SVr4 documentation says that the optimization of physically
scrolling immediately if the scroll region is the entire screen
“is” performed, not “may be” performed. This implementation
deliberately does not guarantee that this will occur, to leave
open the possibility of smarter optimization of multiple scroll
actions on the next update.
Neither the SVr4 nor the XSI documentation specify whether the
current attribute or current color-pair of blanks generated by
the scroll function is zeroed. Under this implementation it is.
This page is part of the ncurses (new curses) project.
Information about the project can be found at
⟨https://www.gnu.org/software/ncurses/ncurses.html⟩. If you have
a bug report for this manual page, send it to
firstname.lastname@example.org. This page was obtained from the
project's upstream Git mirror of the CVS repository
⟨git://ncurses.scripts.mit.edu/ncurses.git⟩ on 2021-08-27. (At
that time, the date of the most recent commit that was found in
the repository was 2021-05-23.) 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