NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |NOTES |PORTABILITY |SEE ALSO |COLOPHON | |
curs_scroll(3X)curs_scroll(3X)scroll,scrl,wscrl- scroll acurseswindow
#include <curses.h>int scroll(WINDOW *win);int scrl(intn);int wscrl(WINDOW *win, intn);
Thescrollroutine scrolls the window up one line. This involves moving the lines in the window data structure. As an optimiza‐ tion, if the scrolling region of the window is the entire screen, thephysical screen may be scrolled at the same time. For positiven, thescrlandwscrlroutines scroll the window upn lines (linei+n becomesi); otherwise scroll the window downn lines. This involves moving the lines in the window character im‐ age structure. The current cursor position is not changed. For these functions to work, scrolling must be enabled viascrol‐lok(3X).
These routines returnERRupon failure, andOK(SVr4 only speci‐ fies "an integer value other thanERR") upon successful comple‐ tion. 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., withscrollok(3X).
Note thatscrlandscrollmay 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 de‐ liberately 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.
The XSI Curses standard, Issue 4 describes these functions.
curses(3X),curs_outopts(3X)
This page is part of thencurses (new curses) project. Informa‐ tion 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 bug-ncurses-request@gnu.org. This page was obtained from the project's upstream Git mirror of the CVS repository ⟨https://github.com/mirror/ncurses.git⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2023-03-12.) 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 isnot part of the original manual page), send a mail to man-pages@man7.orgcurs_scroll(3X)HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |