]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_util.3x
ncurses 6.4 - patch 20240106
[ncurses.git] / man / curs_util.3x
index 90ffab5b77d5c86a360edfaf61b11c65412cce8e..d922fa8036eef33db6211eca8775cbac0dc81016 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_util.3x,v 1.88 2023/10/14 22:26:23 tom Exp $
-.TH curs_util 3X 2023-10-14 "ncurses 6.4" "Library calls"
+.\" $Id: curs_util.3x,v 1.95 2024/01/05 21:46:58 tom Exp $
+.TH curs_util 3X 2024-01-05 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -110,7 +110,7 @@ a complex character \fIc\fP.
 .PP
 In both \fBunctrl\fP and \fBwunctrl\fP the attributes and color associated
 with the character parameter are ignored.
-.SS keyname/key_name
+.SS "keyname, key_name"
 The \fBkeyname\fP routine returns a character string
 corresponding to the key \fIc\fP.
 Key codes are different from character codes.
@@ -135,7 +135,7 @@ do not return the same set of strings:
 \fBkeyname\fP returns null where \fBkey_name\fP would display a meta character.
 .bP
 \fBkey_name\fP does not return the name of a function key.
-.SS filter/nofilter
+.SS "filter, nofilter"
 The \fBfilter\fP routine, if used, must be called before \fBinitscr\fP or
 \fBnewterm\fP are called.
 Calling \fBfilter\fP causes these changes in initialization:
@@ -167,10 +167,11 @@ The \fBuse_env\fP routine, if used,
 should be called before \fBinitscr\fP or
 \fBnewterm\fP are called
 (because those compute the screen size).
-It modifies the way \fIncurses\fP treats environment variables
+It modifies the way \fI\%ncurses\fP treats environment variables
 when determining the screen size.
 .bP
-Normally \fIncurses\fP looks first at the terminal database for the screen size.
+Normally \fI\%ncurses\fP looks first at the terminal database for the
+screen size.
 .IP
 If \fBuse_env\fP was called with \fBFALSE\fP for parameter,
 it stops here unless
@@ -181,29 +182,32 @@ If successful,
 it overrides the values from the terminal database.
 .bP
 Finally (unless \fBuse_env\fP was called with \fBFALSE\fP parameter),
-\fBncurses\fP examines the \fBLINES\fP or \fBCOLUMNS\fP environment variables,
+\fI\%ncurses\fP examines the \fILINES\fP or \fI\%COLUMNS\fP environment
+variables,
 using a value in those to override the results
 from the operating system or terminal database.
 .IP
-\fBNcurses\fP also updates the screen size in response to \fBSIGWINCH\fP,
-unless overridden by the \fBLINES\fP or \fBCOLUMNS\fP environment variables,
+\fI\%curses\fP also updates the screen size in response to
+\fBSIGWINCH\fP,
+unless overridden by the \fILINES\fP or \fI\%COLUMNS\fP environment
+variables,
 .SS use_tioctl
 The \fBuse_tioctl\fP routine, if used,
 should be called before \fBinitscr\fP or \fBnewterm\fP are called
 (because those compute the screen size).
 After \fBuse_tioctl\fP is called with \fBTRUE\fP as an argument,
-\fBncurses\fP modifies the last step in its computation
+\fI\%ncurses\fP modifies the last step in its computation
 of screen size as follows:
 .bP
-checks if the \fBLINES\fP and \fBCOLUMNS\fP environment variables
+checks if the \fILINES\fP and \fI\%COLUMNS\fP environment variables
 are set to a number greater than zero.
 .bP
-for each, \fBncurses\fP updates the corresponding environment variable
+for each, \fI\%ncurses\fP updates the corresponding environment variable
 with the value that it has obtained via operating system call
 or from the terminal database.
 .bP
-\fBncurses\fP re-fetches the value of the environment variables so that
-it is still the environment variables which set the screen size.
+\fI\%ncurses\fP re-fetches the value of the environment variables so
+that it is still the environment variables which set the screen size.
 .PP
 The \fB\%use_env\fP and \fB\%use_tioctl\fP routines combine as follows.
 .IP
@@ -214,21 +218,21 @@ use_env   use_tioctl      Summary
 _
 TRUE   FALSE   T{
 This is the default behavior.
-\fIncurses\fP uses operating system calls
-unless overridden by \fBLINES\fP or \fB\%COLUMNS\fP environment
+\fI\%ncurses\fP uses operating system calls
+unless overridden by \fILINES\fP or \fI\%COLUMNS\fP environment
 variables;
 default.
 T}
 TRUE   TRUE    T{
-\fIncurses\fP updates \fBLINES\fP and \fB\%COLUMNS\fP based on operating
-system calls.
+\fI\%ncurses\fP updates \fILINES\fP and \fI\%COLUMNS\fP based on
+operating system calls.
 T}
 FALSE  TRUE    T{
-\fIncurses\fP ignores \fBLINES\fP and \fB\%COLUMNS\fP,
+\fI\%ncurses\fP ignores \fILINES\fP and \fI\%COLUMNS\fP,
 using operating system calls to obtain size.
 T}
 .TE
-.SS putwin/getwin
+.SS "putwin, getwin"
 The \fBputwin\fP routine writes all data associated
 with window (or pad) \fIwin\fP into
 the file to which \fIfilep\fP points.
@@ -242,10 +246,10 @@ data.
 It returns a pointer to the new window.
 There are a few caveats:
 .bP
-the data written is a copy of the \fBWINDOW\fP structure,
+the data written is a copy of the \fI\%WINDOW\fP structure,
 and its associated character cells.
-The format differs between the wide-character (\fBncursesw\fP) and
-non-wide (\fBncurses\fP) libraries.
+The format differs between the wide-character (\fI\%ncursesw\fP) and
+non-wide (\fI\%ncurses\fP) libraries.
 You can transfer data between the two, however.
 .bP
 the retrieved window is always created as a top-level window (or pad),
@@ -260,7 +264,7 @@ they will not be colored when the window is refreshed.
 The \fBdelay_output\fP routine inserts an \fIms\fP millisecond pause
 in output.
 Employ this function judiciously when terminal output uses padding,
-because \fIncurses\fP transmits null characters
+because \fI\%ncurses\fP transmits null characters
 (consuming CPU and I/O resources)
 instead of sleeping and requesting resumption from the operating system.
 Padding is used unless:
@@ -270,7 +274,7 @@ the terminal description has \fBnpc\fP (\fBno_pad_char\fP) capability, or
 the environment variable \fB\%NCURSES_NO_PADDING\fP is set.
 .PP
 If padding is not in use,
-\fIncurses\fP uses \fBnapms\fP to perform the delay.
+\fI\%ncurses\fP uses \fBnapms\fP to perform the delay.
 If the value of \fIms\fP exceeds 30,000
 (thirty seconds),
 it is capped at that value.
@@ -300,7 +304,7 @@ The SVr4 documentation describes the action of \fBfilter\fP only in the vaguest
 terms.
 The description here is adapted from the XSI Curses standard (which
 erroneously fails to describe the disabling of \fBcuu\fP).
-.SS delay_output padding
+.SS "delay_output padding"
 The limitation to 30 seconds
 and the use of \fBnapms\fP
 differ from other implementations.
@@ -322,12 +326,13 @@ the same value for different runs because user-defined codes are
 merged from all terminal descriptions which have been loaded.
 The \fBuse_extended_names\fP(3X) function controls whether this data is
 loaded when the terminal description is read by the library.
-.SS nofilter/use_tioctl
-The \fBnofilter\fP and \fBuse_tioctl\fP routines are specific to \fBncurses\fP.
+.SS "nofilter, use_tioctl"
+The \fBnofilter\fP and \fBuse_tioctl\fP routines are specific to
+\fI\%ncurses\fP.
 They were not supported on Version 7, BSD or System V implementations.
-It is recommended that any code depending on \fBncurses\fP extensions
+It is recommended that any code depending on \fI\%ncurses\fP extensions
 be conditioned using \fBNCURSES_VERSION\fP.
-.SS putwin/getwin file-format
+.SS "putwin/getwin file-format"
 The \fBputwin\fP and \fBgetwin\fP functions have several issues with
 portability:
 .bP
@@ -342,9 +347,9 @@ the University of California, Berkeley (in 1982)
 and were later (in 1988) incorporated into SVr4.
 Oddly, there are no such functions in the 4.3BSD curses sources.
 .bP
-Most implementations simply dump the binary \fBWINDOW\fP structure to the file.
+Most implementations simply dump the binary \fI\%WINDOW\fP structure to the file.
 These include SVr4 curses, NetBSD and PDCurses,
-as well as older \fBncurses\fP versions.
+as well as older \fI\%ncurses\fP versions.
 This implementation
 (as well as the X/Open variant of Solaris curses, dated 1995)
 uses textual dumps.
@@ -357,7 +362,7 @@ these functions.
 Doing that can run into problems mixing block- and buffered-I/O.
 This implementation reduces the problem on writes by flushing the output.
 However, reading from a file written using mixed schemes may not be successful.
-.SS unctrl/wunctrl
+.SS "unctrl, wunctrl"
 The XSI Curses standard, Issue 4 describes these functions.
 It states that \fBunctrl\fP and \fBwunctrl\fP will return a null pointer if
 unsuccessful, but does not define any error conditions.
@@ -407,12 +412,12 @@ When treating them as \*(``meta\*('' keys
 this implementation returns strings \*(``M\-^@\*('', \*(``M\-^A\*('', etc.
 .PP
 X/Open Curses documents \fBunctrl\fP as declared in \fB<unctrl.h>\fP,
-which \fBncurses\fP does.
-However, \fBncurses\fP' \fB<curses.h>\fP includes \fB<unctrl.h>\fP,
+which \fI\%ncurses\fP does.
+However, \fI\%ncurses\fP' \fB<curses.h>\fP includes \fB<unctrl.h>\fP,
 matching the behavior of SVr4 curses.
 Other implementations may not do that.
-.SS use_env/use_tioctl
-If \fBncurses\fP is configured to provide the sp-functions extension,
+.SS "use_env, use_tioctl"
+If \fI\%ncurses\fP is configured to provide the sp-functions extension,
 the state of \fBuse_env\fP and \fBuse_tioctl\fP may be updated before
 creating each \fIscreen\fP rather than once only
 (\fBcurs_sp_funcs\fP(3X)).