curs_scroll(3X)                                              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

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

RETURN VALUE         top

       These routines return ERR upon failure, and OK (SVr4 only specifies
       "an integer value other than ERR") upon successful completion.

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

NOTES         top

       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.

PORTABILITY         top

       The XSI Curses standard, Issue 4 describes these functions.

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 
       ⟨⟩.  If you have a
       bug report for this manual page, send it to  This page was obtained from the
       project's upstream Git mirror of the CVS repository
       ⟨git://⟩ on 2020-02-08.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-01-19.)  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