+++ /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>