+
+</PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
+ The <B>setsyx</B> routine sets the <I>virtual</I> <I>screen</I> cursor to <I>y</I>, <I>x</I>. If <I>y</I> and <I>x</I>
+ are both <B>-1</B>, then <B>leaveok</B> is set. The two routines <B>getsyx</B> and <B>setsyx</B>
+ are designed to be used by a library routine, which manipulates <B>curses</B>
+ windows but does not want to change the current position of the pro-
+ gram's cursor. The library routine would call <B>getsyx</B> at the beginning,
+ do its manipulation of its own windows, do a <B>wnoutrefresh</B> on its win-
+ dows, call <B>setsyx</B>, and then call <B>doupdate</B>.
+
+ Few applications will use this feature, most use <B>wmove</B> instead.
+
+
+</PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
+ The <B>ripoffline</B> routine provides access to the same facility that
+ <B>slk_init</B> [see <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>] uses to reduce the size of the screen.
+ <B>ripoffline</B> must be called before <B>initscr</B> or <B>newterm</B> is called, to pre-
+ pare these initial actions:
+
+ <B>o</B> If <I>line</I> is positive, a line is removed from the top of <B>stdscr</B>.
+
+ <B>o</B> if <I>line</I> is negative, a line is removed from the bottom.
+
+ When the resulting initialization is done inside <B>initscr</B>, the routine
+ <B>init</B> (supplied by the user) is called with two arguments:
+
+ <B>o</B> a window pointer to the one-line window that has been allocated and
+
+ <B>o</B> an integer with the number of columns in the window.
+
+ Inside this initialization routine, the integer variables <B>LINES</B> and
+ <B>COLS</B> (defined in <B><curses.h></B>) are not guaranteed to be accurate and <B>wre-</B>
+ <B>fresh</B> or <B>doupdate</B> must not be called. It is allowable to call <B>wnoutre-</B>
+ <B>fresh</B> during the initialization routine.
+
+ <B>ripoffline</B> can be called up to five times before calling <B>initscr</B> or
+ <B>newterm</B>.
+
+
+</PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
+ The <B>curs_set</B> routine sets the cursor state to invisible, normal, or
+ very visible for <B>visibility</B> equal to <B>0</B>, <B>1</B>, or <B>2</B> respectively. If the
+ terminal supports the <I>visibility</I> requested, the previous <I>cursor</I> state
+ is returned; otherwise, <B>ERR</B> is returned.
+
+
+</PRE><H3><a name="h3-napms">napms</a></H3><PRE>
+ The <B>napms</B> routine is used to sleep for <I>ms</I> milliseconds.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <B>curs_set</B>, these routines always return <B>OK</B>.
+
+ <B>curs_set</B> returns the previous cursor state, or <B>ERR</B> if the requested
+ <I>visibility</I> is not supported.
+
+ X/Open defines no error conditions. In this implementation
+
+ <B>def_prog_mode</B>, <B>def_shell_mode</B>, <B>reset_prog_mode</B>, <B>reset_shell_mode</B>
+ return an error if the terminal was not initialized, or if the I/O
+ call to obtain the terminal settings fails.
+
+ <B>ripoffline</B>
+ returns an error if the maximum number of ripped-off lines exceeds
+ the maximum (NRIPS = 5).
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <B>getsyx</B> is a macro, so <B>&</B> is not necessary before the variables
+ <I>y</I> and <I>x</I>.
+
+ Older SVr4 man pages warn that the return value of <B>curs_set</B> "is cur-
+ rently incorrect". This implementation gets it right, but it may be
+ unwise to count on the correctness of the return value anywhere else.
+
+ Both ncurses and SVr4 will call <B>curs_set</B> in <B>endwin</B> if <B>curs_set</B> has been
+ called to make the cursor other than normal, i.e., either invisible or
+ very visible. There is no way for ncurses to determine the initial
+ cursor state to restore that.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <I>virtual</I> <I>screen</I> functions <B>setsyx</B> and <B>getsyx</B> are not described in the
+ XSI Curses standard, Issue 4. All other functions are as described in
+ XSI Curses.
+
+ The SVr4 documentation describes <B>setsyx</B> and <B>getsyx</B> as having return
+ type int. This is misleading, as they are macros with no documented
+ semantics for the return value.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>,
+ <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>, <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.