-</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
- the window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclr-</STRONG>
- <STRONG>tobot,</STRONG> <STRONG>wscrl</STRONG>, etc., automatically cause a call to <STRONG>wre-</STRONG>
- <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.
-
- 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 to get the physical
- scrolling effect on the terminal, it is also necessary 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.