X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_kernel.3x;h=a4e6c808b08e57ca5a06a0124e4c9cadd4fc71c8;hp=d81b134b8d8196482b26da942558f0937d29688b;hb=fae162795e065e5901068152e91f2962b6b247f3;hpb=96d6b16de0d487e5d3aed0302a179dbce11b5d96 diff --git a/man/curs_kernel.3x b/man/curs_kernel.3x index d81b134b..a4e6c808 100644 --- a/man/curs_kernel.3x +++ b/man/curs_kernel.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. * +.\" Copyright 2018-2019,2020 Thomas E. Dickey * +.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +27,15 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp $ +.\" $Id: curs_kernel.3x,v 1.29 2020/10/17 23:22:35 tom Exp $ +.ie \n(.g .ds `` \(lq +.el .ds `` `` +.ie \n(.g .ds '' \(rq +.el .ds '' '' +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. .TH curs_kernel 3X "" .na .hy 0 @@ -50,88 +59,120 @@ \fBint def_prog_mode(void);\fR .br \fBint def_shell_mode(void);\fR -.br +.sp \fBint reset_prog_mode(void);\fR .br \fBint reset_shell_mode(void);\fR -.br +.sp \fBint resetty(void);\fR .br \fBint savetty(void);\fR +.sp +\fBvoid getsyx(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR .br -\fBvoid getsyx(int y, int x);\fR -.br -\fBvoid setsyx(int y, int x);\fR -.br -\fBint ripoffline(int line, int (*init)(WINDOW *, int));\fR +\fBvoid setsyx(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR +.sp +\fBint ripoffline(int \fP\fIline\fP\fB, int (*\fP\fIinit\fP\fB)(WINDOW *, int));\fR .br -\fBint curs_set(int visibility);\fR +\fBint curs_set(int \fP\fIvisibility\fP\fB);\fR .br -\fBint napms(int ms);\fR +\fBint napms(int \fP\fIms\fP\fB);\fR .br .SH DESCRIPTION -The following routines give low-level access to various \fBcurses\fR -capabilities. These routines typically are used inside library -routines. +The following routines give low-level access +to various \fBcurses\fR capabilities. +These routines typically are used inside library routines. +.SS def_prog_mode, def_shell_mode .PP The \fBdef_prog_mode\fR and \fBdef_shell_mode\fR routines save the -current terminal modes as the "program" (in \fBcurses\fR) or "shell" +current terminal modes as the \*(``program\*('' (in \fBcurses\fR) or \*(``shell\*('' (not in \fBcurses\fR) state for use by the \fBreset_prog_mode\fR and -\fBreset_shell_mode\fR routines. This is done automatically by -\fBinitscr\fR. There is one such save area for each screen context -allocated by \fBnewterm()\fR. +\fBreset_shell_mode\fR routines. +This is done automatically by \fBinitscr\fR. +There is one such save area for each screen context +allocated by \fBnewterm\fR. +.SS reset_prog_mode, reset_shell_mode .PP The \fBreset_prog_mode\fR and \fBreset_shell_mode\fR routines restore -the terminal to "program" (in \fBcurses\fR) or "shell" (out of -\fBcurses\fR) state. These are done automatically by \fBendwin\fR -and, after an \fBendwin\fR, by \fBdoupdate\fR, so they normally are -not called. +the terminal to \*(``program\*('' (in \fBcurses\fR) or \*(``shell\*('' (out of +\fBcurses\fR) state. +These are done automatically by \fBendwin\fR(3X) and, +after an \fBendwin\fR, by \fBdoupdate\fR, +so they normally are not called. +.SS resetty, savetty .PP The \fBresetty\fR and \fBsavetty\fR routines save and restore the -state of the terminal modes. \fBsavetty\fR saves the current state in +state of the terminal modes. +\fBsavetty\fR saves the current state in a buffer and \fBresetty\fR restores the state to what it was at the last call to \fBsavetty\fR. +.SS getsyx .PP -The \fBgetsyx\fR routine returns the current coordinates of the virtual screen -cursor in \fIy\fR and \fIx\fR. If \fBleaveok\fR is currently \fBTRUE\fR, then -\fB\-1\fR,\fB\-1\fR is returned. If lines have been removed from the top of the +The \fBgetsyx\fR routine returns the current coordinates +of the \fIvirtual screen\fP cursor in \fIy\fR and \fIx\fR. +If \fBleaveok\fR is currently \fBTRUE\fR, then +\fB\-1\fR,\fB\-1\fR is returned. +If lines have been removed from the top of the screen, using \fBripoffline\fR, \fIy\fR and \fIx\fR include these lines; therefore, \fIy\fR and \fIx\fR should be used only as arguments for \fBsetsyx\fR. .PP -The \fBsetsyx\fR routine sets the virtual screen cursor to -\fIy\fR, \fIx\fR. If \fIy\fR and \fIx\fR are both \fB\-1\fR, then -\fBleaveok\fR is set. The two routines \fBgetsyx\fR and \fBsetsyx\fR +Few applications will use this feature, +most use \fBgetyx\fP instead. +.SS setsyx +.PP +The \fBsetsyx\fR routine sets +the \fIvirtual screen\fP cursor to \fIy\fR, \fIx\fR. +If \fIy\fR and \fIx\fR are both \fB\-1\fR, then +\fBleaveok\fR is set. +The two routines \fBgetsyx\fR and \fBsetsyx\fR are designed to be used by a library routine, which manipulates \fBcurses\fR windows but does not want to change the current position -of the program's cursor. The library routine would call \fBgetsyx\fR +of the program's cursor. +The library routine would call \fBgetsyx\fR at the beginning, do its manipulation of its own windows, do a \fBwnoutrefresh\fR on its windows, call \fBsetsyx\fR, and then call \fBdoupdate\fR. .PP +Few applications will use this feature, +most use \fBwmove\fP instead. +.SS ripoffline +.PP The \fBripoffline\fR routine provides access to the same facility that \fBslk_init\fR [see \fBcurs_slk\fR(3X)] uses to reduce the size of the -screen. \fBripoffline\fR must be called before \fBinitscr\fR or -\fBnewterm\fR is called. If \fIline\fR is positive, a line is removed -from the top of \fBstdscr\fR; if \fIline\fR is negative, a line is -removed from the bottom. When this is done inside \fBinitscr\fR, the +screen. +\fBripoffline\fR must be called before \fBinitscr\fR or +\fBnewterm\fR is called, to prepare these initial actions: +.bP +If \fIline\fR is positive, a line is removed from the top of \fBstdscr\fR. +.bP +if \fIline\fR is negative, a line is removed from the bottom. +.PP +When the resulting initialization is done inside \fBinitscr\fR, the routine \fBinit\fR (supplied by the user) is called with two -arguments: a window pointer to the one-line window that has been -allocated and an integer with the number of columns in the window. +arguments: +.bP +a window pointer to the one-line window that has been +allocated and +.bP +an integer with the number of columns in the window. +.PP Inside this initialization routine, the integer variables \fBLINES\fR and \fBCOLS\fR (defined in \fB\fR) are not guaranteed to be -accurate and \fBwrefresh\fR or \fBdoupdate\fR must not be called. It -is allowable to call \fBwnoutrefresh\fR during the initialization -routine. +accurate and \fBwrefresh\fR or \fBdoupdate\fR must not be called. +It is allowable to call \fBwnoutrefresh\fR during the initialization routine. .PP \fBripoffline\fR can be called up to five times before calling \fBinitscr\fR or \fBnewterm\fR. +.SS curs_set .PP The \fBcurs_set\fR routine sets the cursor state to invisible, normal, or very visible for \fBvisibility\fR equal to \fB0\fR, -\fB1\fR, or \fB2\fR respectively. If the terminal supports the -\fIvisibility\fR requested, the previous \fIcursor\fR state is -returned; otherwise, \fBERR\fR is returned. +\fB1\fR, or \fB2\fR respectively. +If the terminal supports the \fIvisibility\fR requested, +the previous \fIcursor\fR state is returned; +otherwise, \fBERR\fR is returned. +.SS napms .PP The \fBnapms\fR routine is used to sleep for \fIms\fR milliseconds. .SH RETURN VALUE @@ -143,9 +184,12 @@ requested \fIvisibility\fR is not supported. .PP X/Open defines no error conditions. In this implementation -.RS .TP 5 +.na +.hy 0 \fBdef_prog_mode\fR, \fBdef_shell_mode\fR, \fBreset_prog_mode\fR, \fBreset_shell_mode\fR +.hy +.ad return an error if the terminal was not initialized, or if the I/O call to obtain the terminal settings fails. @@ -153,13 +197,13 @@ if the I/O call to obtain the terminal settings fails. \fBripoffline\fP returns an error if the maximum number of ripped-off lines exceeds the maximum (NRIPS = 5). -.RE .SH NOTES Note that \fBgetsyx\fR is a macro, so \fB&\fR is not necessary before the variables \fIy\fR and \fIx\fR. .PP -Older SVr4 man pages warn that the return value of \fBcurs_set\fR "is currently -incorrect". This implementation gets it right, but it may be unwise to count +Older SVr4 man pages warn that the return value +of \fBcurs_set\fR \*(``is currently incorrect\*(''. +This implementation gets it right, but it may be unwise to count on the correctness of the return value anywhere else. .PP Both ncurses and SVr4 will call \fBcurs_set\fR in \fBendwin\fR @@ -169,11 +213,13 @@ invisible or very visible. There is no way for ncurses to determine the initial cursor state to restore that. .SH PORTABILITY -The functions \fBsetsyx\fR and \fBgetsyx\fR are not described in the XSI -Curses standard, Issue 4. All other functions are as described in XSI Curses. +The \fIvirtual screen\fP functions \fBsetsyx\fR and \fBgetsyx\fR +are not described in the XSI Curses standard, Issue 4. +All other functions are as described in XSI Curses. .PP -The SVr4 documentation describes \fBsetsyx\fR and \fBgetsyx\fR as having return -type int. This is misleading, as they are macros with no documented semantics +The SVr4 documentation describes \fBsetsyx\fR and \fBgetsyx\fR +as having return type int. +This is misleading, as they are macros with no documented semantics for the return value. .SH SEE ALSO \fBcurses\fR(3X),