--- /dev/null
+<HTML>
+<BODY>
+<PRE>
+ <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG> <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>,
+ <STRONG>wsetscrreg</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+ <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+
+ <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+ These routines set options that change the style of output
+ within <STRONG>curses</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless
+ otherwise stated. It is not necessary to turn these
+ options off before calling <STRONG>endwin</STRONG>.
+
+ If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call
+ to <STRONG>wrefresh</STRONG> with this window will clear the screen com-
+ pletely and redraw the entire screen from scratch. This
+ is useful when the contents of the screen are uncertain,
+ or in some cases for a more pleasing visual effect. If
+ the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>,
+ the next call to <STRONG>wrefresh</STRONG> with any window causes the
+ screen to be cleared and repainted from scratch.
+
+ If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG>
+ considers using the hardware insert/delete line feature of
+ terminals so equipped. Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second
+ argument disables use of line insertion and deletion.
+ This option should be enabled only if the application
+ needs insert/delete line, for example, for a screen edi-
+ tor. It is disabled by default because insert/delete line
+ tends to be visually annoying when used in applications
+ where it isn't really needed. If insert/delete line can-
+ not be used, <STRONG>curses</STRONG> redraws the changed portions of all
+ lines.
+
+ If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG>
+ no longer considers using the hardware insert/delete char-
+ acter feature of terminals so equipped. Use of character
+ insert/delete is enabled by default. Calling <STRONG>idcok</STRONG> with
+ <STRONG>TRUE</STRONG> as second argument re-enables use of character inser-
+ tion and deletion.
+
+ If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
+ <STRONG>fresh</STRONG>. However, it may degrade performance considerably,
+ due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled by
+ default.
+
+ Normally, the hardware cursor is left at the location of
+ the window cursor being refreshed. The <STRONG>leaveok</STRONG> option
+ allows the cursor to be left wherever the update happens
+ to leave it. It is useful for applications where the cur-
+ sor is not used, since it reduces the need for cursor
+ motions. If possible, the cursor is made invisible when
+ this option is enabled.
+
+ The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the applica-
+ tion programmer to set a software scrolling region in a
+ window. <EM>top</EM> and <EM>bot</EM> are the line numbers of the top and
+ bottom margin of the scrolling region. (Line 0 is the top
+ line of the window.) If this option and <STRONG>scrollok</STRONG> are
+ enabled, an attempt to move off the bottom margin line
+ causes all lines in the scrolling region to scroll one
+ line in the direction of the first line. Only the text of
+ the window is scrolled. (Note that this has nothing to do
+ with the use of a physical scrolling region capability in
+ the terminal, like that in the VT100. If <STRONG>idlok</STRONG> is enabled
+ and the terminal has either a scrolling region or
+ insert/delete line capability, they will probably be used
+ by the output routines.)
+
+ The <STRONG>scrollok</STRONG> option controls what happens when the cursor
+ of a window is moved off the edge of the window or
+ scrolling region, either as a result of a newline action
+ on the bottom line, or typing the last character of the
+ last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
+ on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window
+ is scrolled up one line (Note that in order to get the
+ physical scrolling effect on the terminal, it is also nec-
+ essary to call <STRONG>idlok</STRONG>).
+
+ The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying
+ display device translates the return key into newline on
+ input, and whether it translates newline into return and
+ line-feed on output (in either case, the call <STRONG>addch('\n')</STRONG>
+ does the equivalent of return and line feed on the virtual
+ screen). Initially, these translations do occur. If you
+ disable them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make bet-
+ ter use of the line-feed capability, resulting in faster
+ cursor motion. Also, <STRONG>curses</STRONG> will then be able to detect
+ the return key.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+ The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon suc-
+ cess and <STRONG>ERR</STRONG> upon failure. All other routines that return
+ an integer always return <STRONG>OK</STRONG>.
+ These functions are described in the XSI Curses standard,
+ Issue 4.
+
+ The XSI Curses standard is ambiguous on the question of
+ whether <STRONG>raw</STRONG>() should disable the CRLF translations con-
+ trolled by <STRONG>nl</STRONG>() and <STRONG>nonl</STRONG>(). BSD curses did turn off these
+ translations; AT&T curses (at least as late as SVr1) did
+ not. We choose to do so, on the theory that a programmer
+ requesting raw input wants a clean (ideally 8-bit clean)
+ connection that the operating system does not mess with.
+
+ Some historic curses implementations had, as an undocu-
+ mented feature, the ability to do the equivalent of
+ <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
+ <STRONG>scr)</STRONG>. This will not work under ncurses.
+
+ Earlier System V curses implementations specified that
+ with <STRONG>scrollok</STRONG> enabled, any window modification triggering
+ a scroll also forced a physical refresh. XSI Curses does
+ not require this, and <STRONG>ncurses</STRONG> avoids doing it in order to
+ perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
+ time.
+
+ The XSI Curses standard does not mention that the cursor
+ should be made invisible as a side-effect of <STRONG>leaveok</STRONG>.
+ SVr4 curses documentation does this, but the code does
+ not.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+ Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> and
+ <STRONG>setscrreg</STRONG> may be macros.
+
+ The <STRONG>immedok</STRONG> routine is useful for windows that are used as
+ terminal emulators.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3X)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3X)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3X)</A></STRONG>,
+ <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3X)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3X)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3X)</A></STRONG>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</PRE>
+</BODY>
+</HTML>