diff options
Diffstat (limited to 'templates/man3/ncurses.3x.pot')
-rw-r--r-- | templates/man3/ncurses.3x.pot | 2966 |
1 files changed, 1458 insertions, 1508 deletions
diff --git a/templates/man3/ncurses.3x.pot b/templates/man3/ncurses.3x.pot index b43f56d5..ccaf30cb 100644 --- a/templates/man3/ncurses.3x.pot +++ b/templates/man3/ncurses.3x.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2024-03-01 17:02+0100\n" +"POT-Creation-Date: 2024-06-01 06:05+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -22,10 +22,22 @@ msgstr "" msgid "ncurses" msgstr "" -#. type: ds n +#. type: TH #: archlinux #, no-wrap -msgid "5" +msgid "2024-04-27" +msgstr "" + +#. type: TH +#: archlinux +#, no-wrap +msgid "ncurses 6.5" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Library calls" msgstr "" #. type: ds d @@ -41,8 +53,8 @@ msgid "NAME" msgstr "" #. type: Plain text -#: archlinux -msgid "B<ncurses> - CRT screen handling and optimization package" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%ncurses> - character-cell terminal interface with optimized output" msgstr "" #. type: SH @@ -52,8 +64,9 @@ msgid "SYNOPSIS" msgstr "" #. type: Plain text -#: archlinux -msgid "B<#include E<lt>curses.hE<gt>>" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<#include E<lt>curses.hE<gt>>\n" msgstr "" #. type: SH @@ -65,452 +78,596 @@ msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library routines give the user a terminal-independent method " -"of updating character screens with reasonable optimization. This " -"implementation is \\*(``new curses\\*('' (ncurses) and is the approved " -"replacement for 4.4BSD classic curses, which has been discontinued. This " -"describes B<ncurses> version 6.4 (patch 20230520)." +"The \\*(``new curses\\*('' library offers the programmer a terminal-" +"independent means of reading keyboard and mouse input and updating character-" +"cell terminals with output optimized to minimize screen updates. I<\\" +"%ncurses> replaces the I<curses> libraries from System V Release 4 Unix " +"(\\*(``SVr4\\*('') and 4.4BSD Unix, the development of which ceased in the " +"1990s. This document describes I<\\%ncurses> version 6.5 (patch 20240427)." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library emulates the curses library of System V Release 4 " -"UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI " -"curses). XSI stands for X/Open System Interfaces Extension. The B<ncurses> " -"library is freely redistributable in source form. Differences from the SVr4 " -"curses are summarized under the I<EXTENSIONS> and I<PORTABILITY> sections " -"below and described in detail in the respective I<EXTENSIONS>, " -"I<PORTABILITY> and I<BUGS> sections of individual man pages." +"I<\\%ncurses> permits control of the terminal screen's contents; abstraction " +"and subdivision thereof with I<windows> and I<pads>; the reading of terminal " +"input; control of terminal input and output options; environment query " +"routines; color manipulation; the definition and use of I<soft label> keys; " +"I<\\%term\\%info> capability access; a I<termcap> compatibility interface; " +"and an abstraction of the system's API for manipulating the terminal (such " +"as I<\\%termios>(3))." +msgstr "" + +#. type: Plain text +#: archlinux mageia-cauldron +msgid "" +"I<\\%ncurses> implements the standard interface described by X/Open Curses " +"Issue\\ 7. In many behavioral details not standardized by X/Open, I<\\" +"%ncurses> emulates the I<curses> library of SVr4 and provides numerous " +"useful extensions." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"I<\\%ncurses> man pages employ several sections to clarify matters of usage " +"and interoperability with other I<curses> implementations." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library also provides many useful extensions, i.e., features " -"which cannot be implemented by a simple add-on library but which require " -"access to the internals of the library." +"\\*(``NOTES\\*('' describes issues and caveats of which any user of the I<\\" +"%ncurses> API should be aware, such as limitations on the size of an " +"underlying integral type or the availability of a preprocessor macro " +"exclusive of a function definition (which prevents its address from being " +"taken). This section also describes implementation details that will be " +"significant to the programmer but which are not standardized." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"\\*(``EXTENSIONS\\*('' presents I<\\%ncurses> innovations beyond the X/Open " +"Curses standard and/or the SVr4 I<curses> implementation. They are termed " +"I<extensions> to indicate that they cannot be implemented solely by using " +"the library API, but require access to the library's internal state." msgstr "" #. type: Plain text #: archlinux msgid "" -"A program using these routines must be linked with the B<-lncurses> option, " -"or (if it has been generated) with the debugging library B<-lncurses_g>. " -"(Your system integrator may also have installed these libraries under the " -"names B<-lcurses> and B<-lcurses_g>.) The ncurses_g library generates trace " -"logs (in a file called \\*(``trace\\*('' in the current directory) that " -"describe curses actions. See also the section on B<ALTERNATE " -"CONFIGURATIONS>." +"\\*(``PORTABILITY\\*('' discusses matters (beyond the exercise of " +"extensions) that should be considered when writing to a I<curses> standard, " +"or for multiple implementations." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"\\*(``HISTORY\\*('' examines points of detail in I<\\%ncurses> and other " +"I<curses> implementations over the decades of their development, " +"particularly where precedent or inertia have frustrated better design (and, " +"in a few cases, where such inertia has been overcome)." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> package supports: overall screen, window and pad " -"manipulation; output to windows and pads; reading terminal input; control " -"over terminal and B<curses> input and output options; environment query " -"routines; color manipulation; use of soft label keys; terminfo capabilities; " -"and access to low-level terminal-manipulation routines." +"A I<curses> application must be linked with the library; use the B<-" +"lncurses> option to your compiler or linker. A debugging version of the " +"library may be available; if so, link with it using B<-lncurses_g>. (Your " +"system integrator may have installed these libraries such that you can use " +"the options B<-lcurses> and B<-lcurses_g>, respectively.) The I<\\" +"%ncurses_g> library generates trace logs (in a file called I<\\%trace> in " +"the current directory) that describe I<\\%ncurses> actions. See section " +"\\*(``ALTERNATE CONFIGURATIONS\\*('' below." msgstr "" #. type: SS -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "Initialization" +msgid "Application Structure" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"The library uses the locale which the calling program has initialized. That " -"is normally done with B<setlocale>(3):" +"A I<curses> application uses information from the system locale; I<\\" +"%setlocale>(3) prepares it for I<curses> library calls." msgstr "" #. type: Plain text #: archlinux -msgid "B<setlocale(LC_ALL, \"\");>" +#, no-wrap +msgid "setlocale(LC_ALL, \"\");\n" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"If the locale is not initialized, the library assumes that characters are " -"printable as in ISO-8859-1, to work with certain legacy programs. You " -"should initialize the locale and not rely on specific details of the library " -"when the locale has not been setup." +"If the locale is not thus initialized, the library assumes that characters " +"are printable as in ISO\\ 8859-1, to work with certain legacy programs. You " +"should initialize the locale; do not expect consistent behavior from the " +"library when the locale has not been set up." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"The function B<initscr> or B<newterm> must be called to initialize the " -"library before any of the other routines that deal with windows and screens " -"are used. The routine B<endwin>(3X) must be called before exiting." +"B<\\%initscr>(3X) or B<\\%newterm>(3X) must be called to initialize " +"I<curses> before use of any functions that deal with windows and screens." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"To get character-at-a-time input without echoing (most interactive, screen " -"oriented programs want this), the following sequence should be used:" +"To get character-at-a-time input without echoing\\(emmost interactive, " +"screen-oriented programs want this\\(emuse the following sequence." msgstr "" #. type: Plain text #: archlinux -msgid "B<initscr(); cbreak(); noecho();>" +#, no-wrap +msgid "initscr(); cbreak(); noecho();\n" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "Most programs would additionally use the sequence:" +#: archlinux +msgid "Most applications perform further setup as follows." msgstr "" #. type: Plain text #: archlinux -msgid "B<intrflush(stdscr, FALSE);> B<keypad(stdscr, TRUE);>" +#, no-wrap +msgid "" +"intrflush(stdscr, FALSE);\n" +"keypad(stdscr, TRUE);\n" msgstr "" #. type: Plain text #: archlinux msgid "" -"Before a B<curses> program is run, the tab stops of the terminal should be " -"set and its initialization strings, if defined, must be output. This can be " -"done by executing the B<tput init> command after the shell environment " -"variable B<TERM> has been exported. B<tset(1)> is usually responsible for " -"doing this. [See B<terminfo>(\\*n) for further details.]" +"A I<curses> program then often enters an event loop of some sort. Call B<\\" +"%endwin>(3X) before exiting." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "Datatypes" +msgid "Overview" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The B<ncurses> library permits manipulation of data structures, called " -"I<windows>, which can be thought of as two-dimensional arrays of characters " -"representing all or part of a CRT screen. A default window called " -"B<stdscr>, which is the size of the terminal screen, is supplied. Others " -"may be created with B<newwin>." +"A I<curses> library abstracts the terminal screen by representing all or " +"part of it as a I<\\%WINDOW> data structure. A I<window> is a rectangular " +"grid of character cells, addressed by row and column coordinates (I<y>, " +"I<x>), with the upper left corner as (0, 0). A window called B<\\%stdscr>, " +"the same size as the terminal screen, is always available. Create others " +"with B<\\%newwin>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"Note that B<curses> does not handle overlapping windows, that's done by the " -"B<panel>(3X) library. This means that you can either use B<stdscr> or " -"divide the screen into tiled windows and not using B<stdscr> at all. Mixing " -"the two will result in unpredictable, and undesired, effects." +"A I<curses> library does not manage overlapping windows (but see below). " +"You can either use B<\\%stdscr> to manage one screen-filling window, or tile " +"the screen into non-overlapping windows and not use B<\\%stdscr> at all. " +"Mixing the two approaches will result in unpredictable and undesired effects." msgstr "" #. type: Plain text #: archlinux msgid "" -"Windows are referred to by variables declared as B<WINDOW *>. These data " -"structures are manipulated with routines described here and elsewhere in the " -"B<ncurses> manual pages. Among those, the most basic routines are B<move> " -"and B<addch>. More general versions of these routines are included with " -"names beginning with B<w>, allowing the user to specify a window. The " -"routines not beginning with B<w> affect B<stdscr>." +"Functions permit manipulation of a window and the I<cursor> identifying the " +"cell within it at which the next output operation will occur. Among those, " +"the most basic are B<\\%move>(3X) and B<\\%addch>(3X): these place the " +"cursor and write a character to B<\\%stdscr>, respectively." msgstr "" +#. X/Open Curses Issue 7 assumes some optimization will be done, but +#. does not mandate it in any way. #. type: Plain text #: archlinux msgid "" -"After using routines to manipulate a window, B<refresh>(3X) is called, " -"telling B<curses> to make the user's CRT screen look like B<stdscr>. The " -"characters in a window are actually of type B<chtype>, (character and " -"attribute data) so that other information about the character may also be " -"stored with each character." +"Frequent changes to the terminal screen can cause unpleasant flicker or " +"inefficient use of the communication channel to the device, so the library " +"does not generally update it automatically. Therefore, after using " +"I<curses> functions to accumulate a set of desired updates that make sense " +"to present together, call B<\\%refresh>(3X) to tell the library to make the " +"user's screen look like B<stdscr>. The library I<optimizes> its output by " +"computing a minimal number of operations to mutate the screen from its state " +"at the previous refresh to the new one. Effective optimization demands " +"accurate information about the terminal device: the management of such " +"information is the province of the B<\\%terminfo>(3X) API, a feature of " +"every standard I<curses> implementation." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" "Special windows called I<pads> may also be manipulated. These are windows " -"which are not constrained to the size of the screen and whose contents need " -"not be completely displayed. See B<curs_pad>(3X) for more information." +"that are not constrained to the size of the terminal screen and whose " +"contents need not be completely displayed. See B<\\%curs_pad>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"In addition to drawing characters on the screen, video attributes and colors " -"may be supported, causing the characters to show up in such modes as " +"In addition to drawing characters on the screen, rendering attributes and " +"colors may be supported, causing the characters to show up in such modes as " "underlined, in reverse video, or in color on terminals that support such " -"display enhancements. Line drawing characters may be specified to be " -"output. On input, B<curses> is also able to translate arrow and function " -"keys that transmit escape sequences into single values. The video " -"attributes, line drawing characters, and input values use names, defined in " -"B<E<lt>curses.hE<gt>>, such as B<A_REVERSE>, B<ACS_HLINE>, and B<KEY_LEFT>." +"display enhancements. See B<\\%curs_attr>(3X)." msgstr "" -#. type: SS +#. type: Plain text #: archlinux -#, no-wrap -msgid "Environment variables" +msgid "" +"I<curses> predefines constants for a small set of forms-drawing graphics " +"corresponding to the DEC Alternate Character Set (ACS), a feature of VT100 " +"and other terminals. See B<\\%waddch>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"If the environment variables B<LINES> and B<COLUMNS> are set, or if the " -"program is executing in a window environment, line and column information in " -"the environment will override information read by I<terminfo>. This would " -"affect a program running in an AT&T 630 layer, for example, where the size " -"of a screen is changeable (see B<ENVIRONMENT>)." +"I<curses> is implemented using the operating system's terminal driver; " +"keystroke events are received not as scan codes but as byte sequences. " +"Graphical keycaps (alphanumeric and punctuation keys, and the space) appear " +"as-is. Everything else, including the tab, enter/return, keypad, arrow, and " +"function keys, appears as a control character or a multibyte I<escape " +"sequence.> I<curses> translates these into unique I<key codes.> See B<\\" +"%getch>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"If the environment variable B<TERMINFO> is defined, any program using " -"B<curses> checks for a local terminal definition before checking in the " -"standard place. For example, if B<TERM> is set to B<att4424>, then the " -"compiled terminal definition is found in" +"I<\\%ncurses> provides reimplementations of the SVr4 B<panel>(3X), " +"B<form>(3X), and B<menu>(3X) libraries to ease construction of user " +"interfaces with I<curses>." msgstr "" -#. type: Plain text -#: archlinux -msgid "B<\\*d/a/att4424>." +#. type: SS +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Initialization" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"(The B<a> is copied from the first letter of B<att4424> to avoid creation of " -"huge directories.) However, if B<TERMINFO> is set to B<$HOME/myterms>, " -"B<curses> first checks" +"The selection of an appropriate value of I<TERM> in the process environment " +"is essential to correct I<curses> and I<\\%term\\%info> library operation. " +"A well-configured system selects a correct I<TERM> value automatically; B<\\" +"%tset>(1) may assist with troubleshooting exotic situations." msgstr "" #. type: Plain text #: archlinux -msgid "B<$HOME/myterms/a/att4424>," +msgid "" +"If you change the terminal type, export the I<TERM> environment variable in " +"the shell, then run B<\\%tset>(1) or the \\*(``B<tput init>\\*('' command. " +"See subsection \\*(``Tabs and Initialization\\*('' of B<\\%terminfo>(5)." msgstr "" #. type: Plain text #: archlinux -msgid "and if that fails, it then checks" +msgid "" +"If the environment variables I<\\%LINES> and I<\\%COLUMNS> are set, or if " +"the I<curses> program is executing in a graphical windowing environment, the " +"information obtained thence overrides that obtained by I<\\%term\\%info>. " +"An I<\\%ncurses> extension supports resizable terminals; see B<\\" +"%wresize>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"This is useful for developing experimental definitions or when write " -"permission in B<\\*d> is not available." +"If the environment variable I<\\%TERMINFO> is defined, a I<curses> program " +"checks first for a terminal type description in the location it identifies. " +"I<\\%TERMINFO> is useful for developing experimental type descriptions or " +"when write permission to I<\\%\\*d> is not available." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "See section \\*(``ENVIRONMENT\\*('' below." +msgstr "" + +#. type: SS +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Naming Conventions" msgstr "" #. type: Plain text #: archlinux msgid "" -"The integer variables B<LINES> and B<COLS> are defined in B<E<lt>curses." -"hE<gt>> and will be filled in by B<initscr> with the size of the screen. " -"The constants B<TRUE> and B<FALSE> have the values B<1> and B<0>, " -"respectively." +"I<curses> offers many functions in variant forms using a regular set of " +"alternatives to the name of an elemental one. Those prefixed with " +"\\*(``w\\*('' require a I<\\%WINDOW> pointer argument; those with a " +"\\*(``mv\\*('' prefix first perform cursor movement using B<\\%wmove>(3X); a " +"\\*(``mvw\\*('' prefix indicates both. The \\*(``w\\*('' function is " +"typically the elemental one; the removal of this prefix usually indicates " +"operation on B<\\%stdscr>." msgstr "" #. type: Plain text #: archlinux +msgid "Four functions prefixed with \\*(``p\\*('' require a pad argument." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The B<curses> routines also define the B<WINDOW *> variable B<curscr> which " -"is used for certain low-level operations like clearing and redrawing a " -"screen containing garbage. The B<curscr> can be used in only a few routines." +"In function synopses, I<\\%ncurses> man pages apply the following names to " +"parameters." msgstr "" -#. type: SS +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "bf" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "I<bool> (B<TRUE> or B<FALSE>)" +msgstr "" + +#. type: tbl table #: archlinux #, no-wrap -msgid "Routine and Argument Names" +msgid "c" msgstr "" -#. type: Plain text +#. type: tbl table #: archlinux -msgid "" -"Many B<curses> routines have two or more versions. The routines prefixed " -"with I<w> require a window argument. The routines prefixed with I<p> " -"require a pad argument. Those without a prefix generally use B<stdscr>." +#, no-wrap +msgid "a I<char> or I<int>" msgstr "" -#. type: Plain text +#. type: tbl table #: archlinux -msgid "" -"The routines prefixed with B<mv> require a I<y> and I<x> coordinate to move " -"to before performing the appropriate action. The B<mv> routines imply a " -"call to B<move> before the call to the other routine. The coordinate I<y> " -"always refers to the row (of the window), and I<x> always refers to the " -"column. The upper left-hand corner is always (0,0), not (1,1)." +#, no-wrap +msgid "ch" msgstr "" -#. type: Plain text +#. type: tbl table #: archlinux -msgid "" -"The routines prefixed with B<mvw> take both a window argument and I<x> and " -"I<y> coordinates. The window argument is always specified before the " -"coordinates." +#, no-wrap +msgid "a I<chtype>" msgstr "" -#. type: Plain text +#. type: tbl table #: archlinux -msgid "" -"In each case, I<win> is the window affected, and I<pad> is the pad affected; " -"I<win> and I<pad> are always pointers to type B<WINDOW>." +#, no-wrap +msgid "wc" msgstr "" -#. type: Plain text +#. type: tbl table #: archlinux -msgid "" -"Option setting routines require a Boolean flag I<bf> with the value B<TRUE> " -"or B<FALSE>; I<bf> is always of type B<bool>. Most of the data types used " -"in the library routines, such as B<WINDOW>, B<SCREEN>, B<bool>, and " -"B<chtype> are defined in B<E<lt>curses.hE<gt>>. Types used for the terminfo " -"routines such as B<TERMINAL> are defined in B<E<lt>term.hE<gt>>." +#, no-wrap +msgid "a I<wchar_t> or I<wint_t>" msgstr "" -#. type: Plain text +#. type: tbl table +#: archlinux +#, no-wrap +msgid "wch" +msgstr "" + +#. type: tbl table +#: archlinux +#, no-wrap +msgid "a I<cchar_t>" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "win" +msgstr "" + +#. type: tbl table +#: archlinux +#, no-wrap +msgid "pointer to a I<WINDOW>" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "pad" +msgstr "" + +#. type: tbl table #: archlinux +#, no-wrap +msgid "pointer to a I<WINDOW> that is a pad" +msgstr "" + +#. type: SS +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Wide and Non-wide Character Configurations" +msgstr "" + +#. "ncursesw" + 2n +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"This manual page describes functions which may appear in any configuration " -"of the library. There are two common configurations of the library:" +"This manual page describes functions that appear in any configuration of the " +"library. There are two common configurations; see section \\*(``ALTERNATE " +"CONFIGURATIONS\\*('' below." msgstr "" #. type: TP -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "I<ncurses>" +msgid "I<\\%ncurses>" msgstr "" #. type: Plain text -#: archlinux +#: archlinux mageia-cauldron msgid "" -"the \\*(``normal\\*('' library, which handles 8-bit characters. The normal " -"(8-bit) library stores characters combined with attributes in B<chtype> data." +"is the library in its \\*(``non-wide\\*('' configuration, handling only " +"eight-bit characters. It stores a character combined with attributes in a " +"I<\\%chtype> datum, which is often an alias of I<int>." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Attributes alone (no corresponding character) may be stored in B<chtype> or " -"the equivalent B<attr_t> data. In either case, the data is stored in " -"something like an integer." +"Attributes alone (with no corresponding character) can be stored in " +"variables of I<\\%chtype> or I<\\%attr_t> type. In either case, they are " +"represented as an integral bit mask." msgstr "" #. type: Plain text -#: archlinux -msgid "Each cell (row and column) in a B<WINDOW> is stored as a B<chtype>." +#: archlinux mageia-cauldron +msgid "Each cell of a I<\\%WINDOW> is stored as a I<\\%chtype>." msgstr "" #. type: TP -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "I<ncursesw>" +msgid "I<\\%ncursesw>" msgstr "" +#. same as foregoing tag width #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"the so-called \\*(``wide\\*('' library, which handles multibyte characters " -"(see the section on B<ALTERNATE CONFIGURATIONS>). The \\*(``wide\\*('' " -"library includes all of the calls from the \\*(``normal\\*('' library. It " -"adds about one third more calls using data types which store multibyte " -"characters:" +"is the library in its \\*(``wide\\*('' configuration, which handles " +"character encodings requiring a larger data type than I<\\%char> (a byte-" +"sized type) can represent. It adds about one third more calls using " +"additional data types that can store such I<multibyte> characters." msgstr "" #. type: TP -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<cchar_t>" +msgid "I<\\%cchar_t>" msgstr "" #. type: Plain text #: archlinux msgid "" -"corresponds to B<chtype>. However it is a structure, because more data is " -"stored than can fit into an integer. The characters are large enough to " -"require a full integer value - and there may be more than one character per " -"cell. The video attributes and color are stored in separate fields of the " -"structure." +"corresponds to the non-wide configuration's I<\\%chtype>. It always a " +"structure type, because it stores more data than fit into a standard scalar " +"type. A character code may not be representable as a I<\\%char>, and " +"moreover more than one character may occupy a cell (as with accent marks and " +"other diacritics). Each character is of type I<\\%wchar_t>; a complex " +"character contains one spacing character and zero or more non-spacing " +"characters (see below). Attributes and color data are stored in separate " +"fields of the structure, not combined as in I<\\%chtype>." msgstr "" #. type: Plain text -#: archlinux -msgid "Each cell (row and column) in a B<WINDOW> is stored as a B<cchar_t>." +#: archlinux mageia-cauldron +msgid "Each cell of a I<\\%WINDOW> is stored as a I<\\%cchar_t>." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<setcchar>(3X) and B<getcchar>(3X) functions store and retrieve the " -"data from a B<cchar_t> structure." +"B<\\%setcchar>(3X) and B<\\%getcchar>(3X) store and retrieve I<\\%cchar_t> " +"data. The wide library API of I<\\%ncurses> depends on two data types " +"standardized by ISO C95." msgstr "" #. type: TP -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<wchar_t>" +msgid "I<\\%wchar_t>" msgstr "" #. type: Plain text -#: archlinux +#: archlinux mageia-cauldron msgid "" -"stores a \\*(``wide\\*('' character. Like B<chtype>, this may be an integer." +"stores a wide character. Like I<\\%chtype>, it may be an alias of I<int>. " +"Depending on the character encoding, a wide character may be I<spacing>, " +"meaning that it occupies a character cell by itself and typically " +"accompanies cursor advancement, or I<non-spacing>, meaning that it occupies " +"the same cell as a spacing character, is often regarded as a " +"\\*(``modifier\\*('' of the base glyph with which it combines, and typically " +"does not advance the cursor." msgstr "" #. type: TP -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<wint_t>" +msgid "I<\\%wint_t>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"can store a I<\\%wchar_t> or the constant B<\\%WEOF>, analogously to the " +"I<int>-sized character manipulation functions of ISO C and its constant B<\\" +"%EOF>." msgstr "" #. type: Plain text #: archlinux msgid "" -"stores a B<wchar_t> or B<WEOF> - not the same, though both may have the same " -"size." +"The wide library provides additional functions that complement those in the " +"non-wide library where the size of the underlying character type is " +"significant. A somewhat regular naming convention relates many of the wide " +"variants to their non-wide counterparts; where a non-wide function name " +"contains \\*(``ch\\*('' or \\*(``str\\*('', prefix it with \\*(``_w\\*('' to " +"obtain the wide counterpart. For example, B<\\%waddch> becomes B<\\" +"%wadd_wch>. (Exceptions that add only \\*(``w\\*('' comprise B<\\%addwstr>, " +"B<\\%inwstr>, and their variants.)" msgstr "" #. type: Plain text #: archlinux msgid "" -"The \\*(``wide\\*('' library provides new functions which are analogous to " -"functions in the \\*(``normal\\*('' library. There is a naming convention " -"which relates many of the normal/wide variants: a \\*(``_w\\*('' is inserted " -"into the name. For example, B<waddch> becomes B<wadd_wch>." +"This convention is inapplicable to some non-wide function names, so other " +"transformations are used for the wide configuration: the window background " +"management function \\*(``bkgd\\*('' becomes \\*(``bkgrnd\\*(''; the window " +"border-drawing and -clearing functions are suffixed with \\*(``_set\\*(''; " +"and character attribute manipulation functions like \\*(``attron\\*('' " +"become \\*(``attr_on\\*(''." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "Routine Name Index" +msgid "Function Name Index" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The following table lists the B<curses> routines provided in the " -"\\*(``normal\\*('' and \\*(``wide\\*('' libraries and the names of the " -"manual pages on which they are described. Routines flagged with " -"\\*(``*\\*('' are ncurses-specific, not described by XPG4 or present in SVr4." +"The following table lists the I<curses> functions provided in the non-wide " +"and wide APIs and the corresponding man pages that describe them. Those " +"flagged with \\*(``*\\*('' are I<\\%ncurses>-specific, neither described by " +"X/Open Curses nor present in SVr4." msgstr "" #. type: tbl table -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<curses> Routine Name" +msgid "\\f(BIcurses\\fR Function Name" msgstr "" #. type: tbl table -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "Manual Page Name" +msgid "Man Page" msgstr "" #. type: tbl table -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "=" +msgid "_" msgstr "" #. type: tbl table @@ -534,12 +691,6 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<curs_attr>(3X)" -msgstr "" - -#. type: tbl table -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap msgid "add_wch" msgstr "" @@ -666,6 +817,12 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap +msgid "B<curs_attr>(3X)" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap msgid "attr_off" msgstr "" @@ -1156,6 +1313,18 @@ msgid "free_pair" msgstr "" #. type: tbl table +#: archlinux +#, no-wrap +msgid "get_escdelay" +msgstr "" + +#. type: tbl table +#: archlinux +#, no-wrap +msgid "B<curs_threads>(3X)*" +msgstr "" + +#. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "get_wch" @@ -1632,6 +1801,18 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap +msgid "is_cbreak" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<curs_inopts>(3X)*" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap msgid "is_cleared" msgstr "" @@ -1644,6 +1825,12 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap +msgid "is_echo" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap msgid "is_idcok" msgstr "" @@ -1686,6 +1873,12 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap +msgid "is_nl" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap msgid "is_nodelay" msgstr "" @@ -1704,6 +1897,12 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap +msgid "is_raw" +msgstr "" + +#. type: tbl table +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap msgid "is_scrollok" msgstr "" @@ -2494,12 +2693,6 @@ msgid "pecho_wchar" msgstr "" #. type: tbl table -#: archlinux -#, no-wrap -msgid "B<curs_pad>(3X)*" -msgstr "" - -#. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "pechochar" @@ -2680,6 +2873,18 @@ msgid "set_curterm" msgstr "" #. type: tbl table +#: archlinux +#, no-wrap +msgid "set_escdelay" +msgstr "" + +#. type: tbl table +#: archlinux +#, no-wrap +msgid "set_tabsize" +msgstr "" + +#. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "set_term" @@ -2940,13 +3145,13 @@ msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<curs_terminfo>(3X)*" +msgid "tiparm_s" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "tiparm_s" +msgid "B<curs_terminfo>(3X)*" msgstr "" #. type: tbl table @@ -3052,12 +3257,24 @@ msgid "B<legacy_coding>(3X)*" msgstr "" #. type: tbl table +#: archlinux +#, no-wrap +msgid "use_screen" +msgstr "" + +#. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "use_tioctl" msgstr "" #. type: tbl table +#: archlinux +#, no-wrap +msgid "use_window" +msgstr "" + +#. type: tbl table #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "vid_attr" @@ -3628,34 +3845,19 @@ msgid "wvline_set" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"Depending on the configuration, additional sets of functions may be " -"available:" -msgstr "" - -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "B<curs_memleaks>(3X) - curses memory-leak checking" -msgstr "" - -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "B<curs_sp_funcs>(3X) - curses screen-pointer extension" -msgstr "" - -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "B<curs_threads>(3X) - curses thread support" +"I<\\%ncurses>'s I<screen-pointer extension> adds additional functions " +"corresponding to many of the above, each with an \\*(``_sp\\*('' suffix; see " +"B<curs_sp_funcs>(3X)." msgstr "" -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "B<curs_trace>(3X) - curses debugging routines" +#. type: Plain text +#: archlinux +msgid "" +"The availability of some extensions is configurable when I<\\%ncurses> is " +"compiled; see sections \\*(``ALTERNATE CONFIGURATIONS\\*('' and " +"\\*(``EXTENSIONS\\*('' below." msgstr "" #. type: SH @@ -3667,784 +3869,635 @@ msgstr "" #. type: Plain text #: archlinux msgid "" -"Routines that return an integer return B<ERR> upon failure and an integer " -"value other than B<ERR> upon successful completion, unless otherwise noted " -"in the routine descriptions." -msgstr "" - -#. type: Plain text -#: archlinux -msgid "" -"As a general rule, routines check for null pointers passed as parameters, " -"and handle this as an error." +"Unless otherwise noted, functions that return an integer return B<OK> on " +"success and B<ERR> on failure. Functions that return pointers return " +"B<NULL> on failure. Typically, I<\\%ncurses> treats a null pointer passed " +"as a function parameter as a failure. Functions prefixed with " +"\\*(``mv\\*('' first perform cursor movement and fail if the position (I<y>, " +"I<x>) is outside the window boundaries." msgstr "" -#. type: Plain text -#: archlinux -msgid "" -"All macros return the value of the B<w> version, except B<setscrreg>, " -"B<wsetscrreg>, B<getyx>, B<getbegyx>, and B<getmaxyx>. The return values of " -"B<setscrreg>, B<wsetscrreg>, B<getyx>, B<getbegyx>, and B<getmaxyx> are " -"undefined (i.e., these should not be used as the right-hand side of " -"assignment statements)." +#. type: SH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "ENVIRONMENT" msgstr "" #. type: Plain text #: archlinux msgid "" -"Functions with a \\*(``mv\\*('' prefix first perform a cursor movement using " -"B<wmove>, and return an error if the position is outside the window, or if " -"the window pointer is null. Most \\*(``mv\\*(''-prefixed functions (except " -"variadic functions such as B<mvprintw>) are provided both as macros and " -"functions." -msgstr "" - -#. type: Plain text -#: archlinux -msgid "Routines that return pointers return B<NULL> on error." +"The following symbols from the process environment customize the runtime " +"behavior of I<\\%ncurses> applications. The library may be configured to " +"disregard the variables I<\\%TERMINFO>, I<\\%TERMINFO_DIRS>, I<\\%TERMPATH>, " +"and I<HOME>, if the user is the superuser (root), or the application uses " +"I<\\%setuid>(2) or I<\\%setgid>(2)." msgstr "" -#. type: SH +#. type: SS #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "ENVIRONMENT" +msgid "I<BAUDRATE>" msgstr "" #. type: Plain text #: archlinux msgid "" -"The following environment symbols are useful for customizing the runtime " -"behavior of the B<ncurses> library. The most important ones have been " -"already discussed in detail." +"The debugging library checks this variable when the application has " +"redirected output to a file. Its integral value is used for the baud rate. " +"If that value is absent or invalid, I<\\%ncurses> uses 9600. This feature " +"allows testers to construct repeatable test cases that take into account " +"optimization decisions that depend on baud rate." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "CC command-character" +msgid "I<CC> (command character)" msgstr "" #. type: Plain text #: archlinux msgid "" -"When set, change occurrences of the command_character (i.e., the B<cmdch> " -"capability) of the loaded terminfo entries to the value of this variable. " -"Very few terminfo entries provide this feature." +"When set, the B<\\%command_character> (B<\\%cmdch>) capability value of " +"loaded I<\\%term\\%info> entries changes to the value of this variable. " +"Very few I<\\%term\\%info> entries provide this feature." msgstr "" #. type: Plain text #: archlinux msgid "" "Because this name is also used in development environments to represent the " -"C compiler's name, B<ncurses> ignores it if it does not happen to be a " -"single character." -msgstr "" - -#. type: SS -#: archlinux -#, no-wrap -msgid "BAUDRATE" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "" -"The debugging library checks this environment variable when the application " -"has redirected output to a file. The variable's numeric value is used for " -"the baudrate. If no value is found, B<ncurses> uses 9600. This allows " -"testers to construct repeatable test-cases that take into account costs that " -"depend on baudrate." +"C compiler's name, I<\\%ncurses> ignores its value if it is not one " +"character in length." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "COLUMNS" +msgid "I<COLUMNS>" msgstr "" #. type: Plain text #: archlinux msgid "" -"Specify the width of the screen in characters. Applications running in a " -"windowing environment usually are able to obtain the width of the window in " -"which they are executing. If neither the B<COLUMNS> value nor the " -"terminal's screen size is available, B<ncurses> uses the size which may be " -"specified in the terminfo database (i.e., the B<cols> capability)." +"This variable specifies the width of the screen in characters. Applications " +"running in a windowing environment usually are able to obtain the width of " +"the window in which they are executing. If I<\\%COLUMNS> is not defined and " +"the terminal's screen size is not available from the terminal driver, I<\\" +"%ncurses> uses the size specified by the B<\\%columns> (B<\\%cols>) " +"capability of the terminal type's entry in the I<\\%term\\%info> database, " +"if any." msgstr "" #. type: Plain text #: archlinux msgid "" -"It is important that your application use a correct size for the screen. " -"This is not always possible because your application may be running on a " -"host which does not honor NAWS (Negotiations About Window Size), or because " -"you are temporarily running as another user. However, setting B<COLUMNS> " -"and/or B<LINES> overrides the library's use of the screen size obtained from " -"the operating system." +"It is important that your application use the correct screen size. " +"Automatic detection thereof is not always possible because an application " +"may be running on a host that does not honor NAWS (Negotiations About Window " +"Size) or as a different user ID than the owner of the terminal device " +"file. Setting I<\\%COLUMNS> and/or I<\\%LINES> overrides the library's use " +"of the screen size obtained from the operating system." msgstr "" #. type: Plain text #: archlinux msgid "" -"Either B<COLUMNS> or B<LINES> symbols may be specified independently. This " -"is mainly useful to circumvent legacy misfeatures of terminal descriptions, " -"e.g., xterm which commonly specifies a 65 line screen. For best results, " -"B<lines> and B<cols> should not be specified in a terminal description for " -"terminals which are run as emulations." +"The I<\\%COLUMNS> and I<\\%LINES> variables may be specified independently. " +"This property is useful to circumvent misfeatures of legacy terminal type " +"descriptions; I<\\%xterm>(1) descriptions specifying 65 lines were once " +"notorious. For best results, avoid specifying B<cols> and B<lines> " +"capability codes in I<\\%term\\%info> descriptions of terminal emulators." msgstr "" #. type: Plain text #: archlinux msgid "" -"Use the B<use_env> function to disable all use of external environment (but " -"not including system calls) to determine the screen size. Use the " -"B<use_tioctl> function to update B<COLUMNS> or B<LINES> to match the screen " -"size obtained from system calls or the terminal database." +"B<use_env>(3X) can disable use of the process environment in determining the " +"screen size. B<use_tioctl>(3X) can update I<\\%COLUMNS> and I<\\%LINES> to " +"match the screen size obtained from system calls or the terminal database." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "ESCDELAY" +msgid "I<ESCDELAY>" msgstr "" #. type: Plain text #: archlinux msgid "" -"Specifies the total time, in milliseconds, for which ncurses will await a " -"character sequence, e.g., a function key. The default value, 1000 " -"milliseconds, is enough for most uses. However, it is made a variable to " -"accommodate unusual applications." +"For I<curses> to distinguish the ESC character resulting from a user's press " +"of the \\*(``Escape\\*('' key on the input device from one beginning an " +"I<escape sequence> (as commonly produced by function keys), it waits after " +"receiving the escape character to see if further characters are available on " +"the input stream within a short interval. A global variable B<\\%ESCDELAY> " +"stores this interval in milliseconds. The default value of 1000 (one " +"second) is adequate for most uses. This environment variable overrides it." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" "The most common instance where you may wish to change this value is to work " -"with slow hosts, e.g., running on a network. If the host cannot read " -"characters rapidly enough, it will have the same effect as if the terminal " -"did not send characters rapidly enough. The library will still see a " -"timeout." -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"Note that xterm mouse events are built up from character sequences received " -"from the xterm. If your application makes heavy use of multiple-clicking, " -"you may wish to lengthen this default value because the timeout applies to " -"the composed multi-click event as well as the individual clicks." +"with a remote host over a slow communication channel. If the host running a " +"I<curses> application does not receive the characters of an escape sequence " +"in a timely manner, the library can interpret them as multiple key stroke " +"events." msgstr "" #. type: Plain text #: archlinux msgid "" -"In addition to the environment variable, this implementation provides a " -"global variable with the same name. Portable applications should not rely " -"upon the presence of ESCDELAY in either form, but setting the environment " -"variable rather than the global variable does not create problems when " -"compiling an application." -msgstr "" - -#. type: SS -#: archlinux -#, no-wrap -msgid "HOME" +"I<\\%xterm>(1) mouse events are a form of escape sequence; therefore, if " +"your application makes heavy use of multiple-clicking, you may wish to " +"lengthen the default value because the delay applies to the composite multi-" +"click event as well as the individual clicks." msgstr "" #. type: Plain text #: archlinux msgid "" -"Tells B<ncurses> where your home directory is. That is where it may read " -"and write auxiliary terminal descriptions:" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "$HOME/.termcap $HOME/.terminfo" -msgstr "" - -#. type: SS -#: archlinux -#, no-wrap -msgid "LINES" +"Portable applications should not rely upon the presence of B<\\%ESCDELAY> in " +"either form, but setting the environment variable rather than the global " +"variable does not create problems when compiling an application." msgstr "" #. type: Plain text #: archlinux msgid "" -"Like COLUMNS, specify the height of the screen in characters. See COLUMNS " -"for a detailed description." +"If B<\\%keypad>(3X) is disabled for the I<curses> window receiving input, a " +"program must disambiguate escape sequences itself." msgstr "" #. type: SS -#: archlinux -#, no-wrap -msgid "MOUSE_BUTTONS_123" -msgstr "" - -#. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"This applies only to the OS/2 EMX port. It specifies the order of buttons " -"on the mouse. OS/2 numbers a 3-button mouse inconsistently from other " -"platforms:" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "1 = left" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "2 = right" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "3 = middle." +#, no-wrap +msgid "I<HOME>" msgstr "" #. type: Plain text #: archlinux msgid "" -"This variable lets you customize the mouse. The variable must be three " -"numeric digits 1-3 in any order, e.g., 123 or 321. If it is not specified, " -"B<ncurses> uses 132." +"I<\\%ncurses> may read and write auxiliary terminal descriptions in I<\\%." +"termcap> and I<\\%.terminfo> files in the user's home directory." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_ASSUMED_COLORS" +msgid "I<LINES>" msgstr "" #. type: Plain text #: archlinux msgid "" -"Override the compiled-in assumption that the terminal's default colors are " -"white-on-black (see B<default_colors>(3X)). You may set the foreground and " -"background color values with this environment variable by proving a 2-" -"element list: foreground,background. For example, to tell ncurses to not " -"assume anything about the colors, set this to \"-1,-1\". To make it green-" -"on-black, set it to \"2,0\". Any positive value from zero to the terminfo " -"B<max_colors> value is allowed." +"This counterpart to I<\\%COLUMNS> specifies the height of the screen in " +"characters. The corresponding I<\\%term\\%info> capability and code is B<\\" +"%lines>. See the description of the I<\\%COLUMNS> variable above." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_CONSOLE2" +msgid "I<MOUSE_BUTTONS_123>" msgstr "" #. type: Plain text #: archlinux -msgid "This applies only to the MinGW port of ncurses." -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The B<Console2> program's handling of the Microsoft Console API call " -"B<CreateConsoleScreenBuffer> is defective. Applications which use this will " -"hang. However, it is possible to simulate the action of this call by " -"mapping coordinates, explicitly saving and restoring the original screen " -"contents. Setting the environment variable B<NCGDB> has the same effect." +"(OS/2 EMX port only) OS/2 numbers a three-button mouse inconsistently with " +"other platforms, such that 1 is the left button, 2 the right, and 3 the " +"middle. This variable customizes the mouse button numbering. Its value " +"must be three digits 1-3 in any order. By default, I<\\%ncurses> assumes a " +"numbering of \\*(``132\\*(''." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_GPM_TERMS" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "This applies only to ncurses configured to use the GPM interface." +msgid "I<NCURSES_ASSUMED_COLORS>" msgstr "" #. type: Plain text #: archlinux msgid "" -"If present, the environment variable is a list of one or more terminal names " -"against which the B<TERM> environment variable is matched. Setting it to an " -"empty value disables the GPM interface; using the built-in support for " -"xterm, etc." +"If set, this variable overrides the I<\\%ncurses> library's compiled-in " +"assumption that the terminal's default colors are white on black; see B<\\" +"%default_colors>(3X). Set the foreground and background color values with " +"this environment variable by assigning it two integer values separated by a " +"comma, indicating foregound and background color numbers, respectively." msgstr "" #. type: Plain text #: archlinux msgid "" -"If the environment variable is absent, ncurses will attempt to open GPM if " -"B<TERM> contains \\*(``linux\\*(''." +"For example, to tell I<\\%ncurses> not to assume anything about the colors, " +"use a value of \\*(``-1,-1\\*(''. To make the default color scheme green on " +"black, use \\*(``2,0\\*(''. I<\\%ncurses> accepts integral values from -1 " +"up to the value of the I<\\%term\\%info> B<\\%max_colors> (B<colors>) " +"capability." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_NO_HARD_TABS" +msgid "I<NCURSES_CONSOLE2>" msgstr "" +#. https://www.hanselman.com/blog/console2-a-better-windows-command-prompt #. type: Plain text #: archlinux msgid "" -"B<Ncurses> may use tabs as part of the cursor movement optimization. In " -"some cases, your terminal driver may not handle these properly. Set this " -"environment variable to disable the feature. You can also adjust your " -"B<stty>(1) settings to avoid the problem." +"(MinGW port only) The I<\\%Console2> program defectively handles the " +"Microsoft Console API call I<\\%Create\\%Console\\%Screen\\%Buffer>. " +"Applications that use it will hang. However, it is possible to simulate the " +"action of this call by mapping coordinates, explicitly saving and restoring " +"the original screen contents. Setting the environment variable I<\\%NCGDB> " +"has the same effect." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_NO_MAGIC_COOKIE" +msgid "I<NCURSES_GPM_TERMS>" msgstr "" #. type: Plain text #: archlinux msgid "" -"Some terminals use a magic-cookie feature which requires special handling to " -"make highlighting and other video attributes display properly. You can " -"suppress the highlighting entirely for these terminals by setting this " -"environment variable." +"(Linux only) When I<\\%ncurses> is configured to use the GPM interface, " +"this variable may list one or more terminal names against which the I<TERM> " +"variable (see below) is matched. An empty value disables the GPM " +"interface, using I<\\%ncurses>'s built-in support for I<xterm>(1) mouse " +"protocols instead. If the variable is absent, I<\\%ncurses> attempts to " +"open GPM if I<TERM> contains \\*(``linux\\*(''." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_NO_PADDING" +msgid "I<NCURSES_NO_HARD_TABS>" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"Most of the terminal descriptions in the terminfo database are written for " -"real \\*(``hardware\\*('' terminals. Many people use terminal emulators " -"which run in a windowing environment and use curses-based applications. " -"Terminal emulators can duplicate all of the important aspects of a hardware " -"terminal, but they do not have the same limitations. The chief limitation " -"of a hardware terminal from the standpoint of your application is the " -"management of dataflow, i.e., timing. Unless a hardware terminal is " -"interfaced into a terminal concentrator (which does flow control), it (or " -"your application) must manage dataflow, preventing overruns. The cheapest " -"solution (no hardware cost) is for your program to do this by pausing after " -"operations that the terminal does slowly, such as clearing the display." +"I<\\%ncurses> may use tab characters in cursor movement optimization. In " +"some cases, your terminal driver may not handle them properly. Set this " +"environment variable to any value to disable the feature. You can also " +"adjust your I<\\%stty>(1) settings to avoid the problem." msgstr "" -#. type: Plain text +#. type: SS #: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"As a result, many terminal descriptions (including the vt100) have delay " -"times embedded. You may wish to use these descriptions, but not want to pay " -"the performance penalty." +#, no-wrap +msgid "I<NCURSES_NO_MAGIC_COOKIE>" msgstr "" #. type: Plain text #: archlinux msgid "" -"Set the NCURSES_NO_PADDING environment variable to disable all but mandatory " -"padding. Mandatory padding is used as a part of special control sequences " -"such as B<flash>." +"Many terminals store video attributes as a property of a character cell, as " +"I<curses> does. Historically, some recorded changes in video attributes as " +"data that logically I<occupies> character cells on the display, switching " +"attributes on or off, similarly to tags in a markup language; these are " +"termed \\*(``magic cookies\\*('', and must be subsequently overprinted. If " +"the I<\\%term\\%info> entry for your terminal type does not adequately " +"describe its handling of magic cookies, set this variable to any value to " +"instruct I<\\%ncurses> to disable attributes entirely." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_NO_SETBUF" +msgid "I<NCURSES_NO_PADDING>" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "This setting is obsolete. Before changes" +#: archlinux +msgid "" +"Most terminal type descriptions in the I<\\%term\\%info> database detail " +"hardware devices. Many people use I<curses>-based applications in terminal " +"emulator programs that run in a windowing environment. These programs can " +"duplicate all of the important features of a hardware terminal, but often " +"lack their limitations. Chief among these absent drawbacks is the problem " +"of data flow management; that is, limiting the speed of communication to " +"what the hardware could handle. Unless a hardware terminal is interfaced " +"into a terminal concentrator (which does flow control), an application must " +"manage flow control itself to prevent overruns and data loss." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "started with 5.9 patch 20120825 and" +#: archlinux +msgid "" +"A solution that comes at no hardware cost is for an application to pause " +"after directing a terminal to execute an operation that it performs slowly, " +"such as clearing the display. Many terminal type descriptions, including " +"that for the VT100, embed delay specifications in capabilities. You may " +"wish to use these terminal descriptions without paying the performance " +"penalty. Set I<\\%NCURSES_NO_PADDING> to any value to disable all but " +"mandatory padding. Mandatory padding is used by such terminal capabilities " +"as B<\\%flash_screen> (B<flash>)." msgstr "" -#. type: Plain text +#. type: SS #: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "continued though 5.9 patch 20130126" +#, no-wrap +msgid "I<NCURSES_NO_SETBUF>" msgstr "" #. type: Plain text #: archlinux msgid "" -"B<ncurses> enabled buffered output during terminal initialization. This was " -"done (as in SVr4 curses) for performance reasons. For testing purposes, " -"both of B<ncurses> and certain applications, this feature was made " -"optional. Setting the NCURSES_NO_SETBUF variable disabled output buffering, " -"leaving the output in the original (usually line buffered) mode." +"(Obsolete) Prior to internal changes developed in I<\\%ncurses> 5.9 " +"(patches 20120825 through 20130126), the library used I<\\%setbuf>(3) to " +"enable fully buffered output when initializing the terminal. This was done, " +"as in SVr4 I<curses>, to increase performance. For testing purposes, both " +"of I<\\%ncurses> and of certain applications, this feature was made " +"optional. Setting this variable disabled output buffering, leaving the " +"output stream in the original (usually line-buffered) mode." msgstr "" #. type: Plain text #: archlinux msgid "" -"In the current implementation, ncurses performs its own buffering and does " -"not require this workaround. It does not modify the buffering of the " -"standard output." +"Nowadays, I<\\%ncurses> performs its own buffering and does not require this " +"workaround; it does not modify the buffering of the standard output stream. " +"This approach makes signal handling, as for interrupts, more robust. A " +"drawback is that certain unconventional programs mixed I<\\%stdio>(3) calls " +"with I<\\%ncurses> calls and (usually) got the behavior they expected. " +"This is no longer the case; I<\\%ncurses> does not write to the standard " +"output file descriptor through a I<stdio>-buffered stream." msgstr "" #. type: Plain text #: archlinux msgid "" -"The reason for the change was to make the behavior for interrupts and other " -"signals more robust. One drawback is that certain nonconventional programs " -"would mix ordinary stdio calls with ncurses calls and (usually) work. This " -"is no longer possible since ncurses is not using the buffered standard " -"output but its own output (to the same file descriptor). As a special case, " -"the low-level calls such as B<putp> still use the standard output. But high-" -"level curses calls do not." +"As a special case, low-level API calls such as B<\\%putp>(3X) still use the " +"standard output stream. High-level I<curses> calls such as B<\\%printw>(3X) " +"do not." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_NO_UTF8_ACS" +msgid "I<NCURSES_NO_UTF8_ACS>" msgstr "" #. type: Plain text #: archlinux msgid "" -"During initialization, the B<ncurses> library checks for special cases where " -"VT100 line-drawing (and the corresponding alternate character set " -"capabilities) described in the terminfo are known to be missing. " -"Specifically, when running in a UTF-8 locale, the Linux console emulator and " -"the GNU screen program ignore these. Ncurses checks the B<TERM> environment " -"variable for these. For other special cases, you should set this " -"environment variable. Doing this tells ncurses to use Unicode values which " -"correspond to the VT100 line-drawing glyphs. That works for the special " -"cases cited, and is likely to work for terminal emulators." -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"When setting this variable, you should set it to a nonzero value. Setting " -"it to zero (or to a nonnumber) disables the special check for " -"\\*(``linux\\*('' and \\*(``screen\\*(''." +"At initialization, I<\\%ncurses> inspects the I<TERM> environment variable " +"for special cases where VT100 forms-drawing characters (and the " +"corresponding alternate character set I<\\%term\\%info> capabilities) are " +"known to be unsupported by terminal types that otherwise claim VT100 " +"compatibility. Specifically, when running in a UTF-8 locale, the Linux " +"virtual console device and the GNU I<\\%screen>(1) program ignore them. " +"Set this variable to a nonzero value to instruct I<\\%ncurses> that the " +"terminal's ACS support is broken; the library then outputs Unicode code " +"points that correspond to the forms-drawing characters. Set it to zero (or " +"a non-integer) to disable the special check for terminal type names " +"matching \\*(``linux\\*('' or \\*(``screen\\*('', directing I<\\%ncurses> to " +"assume that the ACS feature works if the terminal type description " +"advertises it." msgstr "" #. type: Plain text #: archlinux msgid "" -"As an alternative to the environment variable, ncurses checks for an " -"extended terminfo capability B<U8>. This is a numeric capability which can " -"be compiled using B<tic\\ -x>. For example" +"As an alternative to use of this variable, I<\\%ncurses> checks for an " +"extended I<\\%term\\%info> numeric capability B<U8> that can be compiled " +"using \\*(``B<tic -x>\\*(''. Examples follow." msgstr "" #. type: Plain text -#: archlinux +#: archlinux mageia-cauldron #, no-wrap msgid "" -"CW<# linux console, if patched to provide working\n" +"# linux console, if patched to provide working\n" "# VT100 shift-in/shift-out, with corresponding font.\n" "linux-vt100|linux console with VT100 line-graphics,\n" -" U8#0, use=linux,>\n" -msgstr "" - -#. type: Plain text -#: archlinux -#, no-wrap -msgid "" -"CW<# uxterm with vt100Graphics resource set to false\n" +" U8#0, use=linux,\n" +"\\&\n" +"# uxterm with vt100Graphics resource set to false\n" "xterm-utf8|xterm relying on UTF-8 line-graphics,\n" -" U8#1, use=xterm,>\n" +" U8#1, use=xterm,\n" msgstr "" #. type: Plain text #: archlinux msgid "" -"The name \\*(``U8\\*('' is chosen to be two characters, to permit it to be " -"used by applications that use ncurses' termcap interface." +"The two-character name \\*(``U8\\*('' was chosen to permit its use via I<\\" +"%ncurses>'s I<termcap> interface." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NCURSES_TRACE" +msgid "I<NCURSES_TRACE>" msgstr "" #. type: Plain text #: archlinux msgid "" -"During initialization, the B<ncurses> debugging library checks the " -"NCURSES_TRACE environment variable. If it is defined, to a numeric value, " -"B<ncurses> calls the B<trace> function, using that value as the argument." -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"The argument values, which are defined in B<curses.h>, provide several types " -"of information. When running with traces enabled, your application will " -"write the file B<trace> to the current directory." -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "See B<curs_trace>(3X) for more information." +"At initialization, I<\\%ncurses> (in its debugging configuration) checks " +"for this variable's presence. If defined with an integral value, the " +"library calls B<\\%curses_trace>(3X) with that value as the argument." msgstr "" #. type: SS -#: archlinux -#, no-wrap -msgid "TERM" -msgstr "" - -#. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"Denotes your terminal type. Each terminal type is distinct, though many are " -"similar." +#, no-wrap +msgid "I<TERM>" msgstr "" #. type: Plain text #: archlinux msgid "" -"B<TERM> is commonly set by terminal emulators to help applications find a " -"workable terminal description. Some of those choose a popular " -"approximation, e.g., \\*(``ansi\\*('', \\*(``vt100\\*('', \\*(``xterm\\*('' " -"rather than an exact fit. Not infrequently, your application will have " -"problems with that approach, e.g., incorrect function-key definitions." +"The I<TERM> variable denotes the terminal type. Each is distinct, though " +"many are similar. It is commonly set by terminal emulators to help " +"applications find a workable terminal description. Some choose a popular " +"approximation such as \\*(``ansi\\*('', \\*(``vt100\\*('', or " +"\\*(``xterm\\*('' rather than an exact fit to their capabilities. Not " +"infrequently, an application will have problems with that approach; for " +"example, a key stroke may not operate correctly, or produce no effect but " +"seeming garbage characters on the screen." msgstr "" #. type: Plain text #: archlinux msgid "" -"If you set B<TERM> in your environment, it has no effect on the operation of " -"the terminal emulator. It only affects the way applications work within the " -"terminal. Likewise, as a general rule (B<xterm>(1) being a rare exception), " -"terminal emulators which allow you to specify B<TERM> as a parameter or " -"configuration value do not change their behavior to match that setting." +"Setting I<TERM> has no effect on hardware operation; it affects the way " +"applications communicate with the terminal. Likewise, as a general rule " +"(I<xterm>(1) being a rare exception), terminal emulators that allow you to " +"specify I<TERM> as a parameter or configuration value do not change their " +"behavior to match that setting." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "TERMCAP" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "" -"If the B<ncurses> library has been configured with I<termcap> support, " -"B<ncurses> will check for a terminal's description in termcap form if it is " -"not available in the terminfo database." +msgid "I<TERMCAP>" msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<TERMCAP> environment variable contains either a terminal description " -"(with newlines stripped out), or a file name telling where the information " -"denoted by the B<TERM> environment variable exists. In either case, setting " -"it directs B<ncurses> to ignore the usual place for this information, e.g., /" -"etc/termcap." +"If I<\\%ncurses> is configured with I<termcap> support, it checks for a " +"terminal type description in I<termcap> format if one in I<\\%term\\%info> " +"format is not available. Setting this variable directs I<\\%ncurses> to " +"ignore the usual I<termcap> database location, I<\\%/etc/termcap>; see I<\\" +"%TERMPATH> below. I<\\%TERMCAP> should contain either a terminal " +"description (with newlines stripped out), or a file name indicating where " +"the information required by the I<TERM> environment variable is stored." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "TERMINFO" +msgid "I<TERMINFO>" msgstr "" #. type: Plain text #: archlinux msgid "" -"B<ncurses> can be configured to read from multiple terminal databases. The " -"B<TERMINFO> variable overrides the location for the default terminal " -"database. Terminal descriptions (in terminal format) are stored in terminal " -"databases:" -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"Normally these are stored in a directory tree, using subdirectories named by " -"the first letter of the terminal names therein." +"I<\\%ncurses> can be configured to read terminal type description databases " +"in various locations using different formats. This variable overrides the " +"default location." msgstr "" #. type: Plain text #: archlinux msgid "" -"This is the scheme used in System V, which legacy Unix systems use, and the " -"B<TERMINFO> variable is used by I<curses> applications on those systems to " -"override the default location of the terminal database." +"Descriptions in I<\\%term\\%info> format are normally stored in a directory " +"tree using subdirectories named by the common first letters of the terminal " +"types named therein. This is the scheme used in System\\ V." msgstr "" #. type: Plain text #: archlinux msgid "" -"If B<ncurses> is built to use hashed databases, then each entry in this list " -"may be the path of a hashed database file, e.g.," -msgstr "" - -#. type: Plain text -#: archlinux -msgid "/usr/share/terminfo.db" -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "rather than" +"If I<\\%ncurses> is configured to use hashed databases, then I<\\%TERM\\" +"%INFO> may name its location, such as I<\\%/usr/share/terminfo.db>, rather " +"than I<\\%/usr/share/terminfo/>." msgstr "" #. type: Plain text #: archlinux -msgid "/usr/share/terminfo/" -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The hashed database uses less disk-space and is a little faster than the " +"The hashed database uses less disk space and is a little faster than the " "directory tree. However, some applications assume the existence of the " -"directory tree, reading it directly rather than using the terminfo library " -"calls." +"directory tree, and read it directly rather than using the I<\\%term\\%info> " +"API." msgstr "" #. type: Plain text #: archlinux msgid "" -"If B<ncurses> is built with a support for reading termcap files directly, " -"then an entry in this list may be the path of a termcap file." +"If I<\\%ncurses> is configured with I<termcap> support, this variable may " +"contain the location of a I<\\%termcap> file." msgstr "" #. type: Plain text #: archlinux msgid "" -"If the B<TERMINFO> variable begins with \\*(``hex:\\*('' or \\*(``b64:" -"\\*('', B<ncurses> uses the remainder of that variable as a compiled " -"terminal description. You might produce the base64 format using " -"B<infocmp>(1M):" +"If the value of I<\\%TERM\\%INFO> begins with \\*(``hex:\\*('' or \\*(``b64:" +"\\*('', I<\\%ncurses> uses the remainder of the value as a compiled I<\\" +"%term\\%info> description. You might produce the base64 format using B<\\" +"%infocmp>(1M)." msgstr "" #. type: Plain text #: archlinux -msgid "TERMINFO=\"$(infocmp -0 -Q2 -q)\" export TERMINFO" +#, no-wrap +msgid "" +"TERMINFO=$(infocmp -0 -Q2 -q)\n" +"export TERMINFO\n" msgstr "" #. type: Plain text #: archlinux msgid "" -"The compiled description is used if it corresponds to the terminal " -"identified by the B<TERM> variable." +"The compiled description is used only if it corresponds to the terminal type " +"identified by I<TERM>." msgstr "" #. type: Plain text #: archlinux msgid "" -"Setting B<TERMINFO> is the simplest, but not the only way to set location of " -"the default terminal database. The complete list of database locations in " -"order follows:" +"Setting I<\\%TERM\\%INFO> is the simplest, but not the only, way to direct " +"I<\\%ncurses> to a terminal database. The search path is as follows." msgstr "" #. type: Plain text #: archlinux msgid "" -"the last terminal database to which B<ncurses> wrote, if any, is searched " -"first" +"the last terminal database to which the running I<\\%ncurses> application " +"wrote, if any" msgstr "" #. type: Plain text #: archlinux -msgid "the location specified by the TERMINFO environment variable" -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "$HOME/.terminfo" +msgid "the location specified by the I<\\%TERM\\%INFO> environment variable" msgstr "" #. type: Plain text #: archlinux -msgid "locations listed in the TERMINFO_DIRS environment variable" +msgid "I<$HOME/.terminfo>" msgstr "" +#. #-#-#-#-# archlinux: ncurses.3x.pot (PACKAGE VERSION) #-#-#-#-# +#. empty #. type: Plain text -#: archlinux -msgid "" -"one or more locations whose names are configured and compiled into the " -"ncurses library, i.e.," -msgstr "" - +#. #-#-#-#-# fedora-40: ncurses.3x.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text -#: archlinux -msgid "no default value (corresponding to the TERMINFO_DIRS variable)" -msgstr "" - +#. #-#-#-#-# fedora-rawhide: ncurses.3x.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text -#: archlinux -msgid "/usr/share/terminfo (corresponding to the TERMINFO variable)" +#. #-#-#-#-# mageia-cauldron: ncurses.3x.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "locations listed in the I<\\%TERMINFO_DIRS> environment variable" msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "TERMINFO_DIRS" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "" -"Specifies a list of locations to search for terminal descriptions. Each " -"location in the list is a terminal database as described in the section on " -"the B<TERMINFO> variable. The list is separated by colons (i.e., \":\") on " -"Unix, semicolons on OS/2 EMX." +msgid "I<TERMINFO_DIRS>" msgstr "" #. type: Plain text #: archlinux msgid "" -"There is no corresponding feature in System V terminfo; it is an extension " -"developed for B<ncurses>." +"This variable specifies a list of locations, akin to I<PATH>, in which I<\\" +"%ncurses> searches for the terminal type descriptions described by I<\\" +"%TERMINFO> above. The list items are separated by colons on Unix and " +"semicolons on OS/2 EMX. System\\ V I<\\%term\\%info> lacks a corresponding " +"feature; I<\\%TERMINFO_DIRS> is an I<\\%ncurses> extension." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "TERMPATH" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "" -"If B<TERMCAP> does not hold a file name then B<ncurses> checks the " -"B<TERMPATH> environment variable. This is a list of filenames separated by " -"spaces or colons (i.e., \":\") on Unix, semicolons on OS/2 EMX." +msgid "I<TERMPATH>" msgstr "" #. type: Plain text #: archlinux msgid "" -"If the B<TERMPATH> environment variable is not set, B<ncurses> looks in the " -"files" +"If I<\\%TERMCAP> does not hold a terminal type description or file name, " +"then I<\\%ncurses> checks the contents of I<\\%TERMPATH>, a list of " +"locations, akin to I<PATH>, in which it searches for I<termcap> terminal " +"type descriptions. The list items are separated by colons on Unix and " +"semicolons on OS/2 EMX." msgstr "" #. type: Plain text #: archlinux -msgid "/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap," -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "in that order." -msgstr "" - -#. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The library may be configured to disregard the following variables when the " -"current user is the superuser (root), or if the application uses setuid or " -"setgid permissions:" -msgstr "" - -#. type: Plain text -#: archlinux -msgid "$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME." +"If both I<\\%TERMCAP> and I<\\%TERMPATH> are unset or invalid, I<\\%ncurses> " +"searches for the files I<\\%/etc/termcap>, I<\\%/usr/share/misc/termcap>, " +"and I<\\%$HOME/.termcap>, in that order." msgstr "" #. type: SH @@ -4454,35 +4507,37 @@ msgid "ALTERNATE CONFIGURATIONS" msgstr "" #. type: Plain text -#: archlinux +#: archlinux mageia-cauldron msgid "" -"Several different configurations are possible, depending on the configure " -"script options used when building B<ncurses>. There are a few main options " -"whose effects are visible to the applications developer using B<ncurses>:" +"Many different I<\\%ncurses> configurations are possible, determined by the " +"options given to the I<\\%configure> script when building the library. Run " +"the script with the B<--help> option to peruse them all. A few are of " +"particular significance to the application developer employing I<\\%ncurses>." msgstr "" #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "--disable-overwrite" +msgid "B<--disable-overwrite>" msgstr "" #. type: Plain text -#: archlinux -msgid "The standard include for B<ncurses> is as noted in B<SYNOPSIS>:" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "The standard include for I<\\%ncurses> is as noted in B<SYNOPSIS>:" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"This option is used to avoid filename conflicts when B<ncurses> is not the " -"main implementation of curses of the computer. If B<ncurses> is installed " -"disabling overwrite, it puts its headers in a subdirectory, e.g.," +"This option is used to avoid filename conflicts when I<\\%ncurses> is not " +"the main implementation of curses of the computer. If I<\\%ncurses> is " +"installed disabling overwrite, it puts its headers in a subdirectory, e.g.," msgstr "" #. type: Plain text -#: archlinux -msgid "B<#include E<lt>ncurses/curses.hE<gt>>" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<#include E<lt>ncurses/curses.hE<gt>>\n" msgstr "" #. type: Plain text @@ -4493,9 +4548,9 @@ msgid "" msgstr "" #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "--enable-widec" +msgid "B<--enable-widec>" msgstr "" #. type: Plain text @@ -4507,8 +4562,9 @@ msgid "" msgstr "" #. type: Plain text -#: archlinux -msgid "B<-lncurses>" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<-lncurses>\n" msgstr "" #. type: Plain text @@ -4517,17 +4573,18 @@ msgid "you link with" msgstr "" #. type: Plain text -#: archlinux -msgid "B<-lncursesw>" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<-lncursesw>\n" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" "You must also enable the wide-character features in the header file when " "compiling for the wide-character library to use the extended (wide-" "character) functions. The symbol which enables these features has changed " -"since XSI Curses, Issue 4:" +"since X/Open Curses, Issue 4:" msgstr "" #. type: Plain text @@ -4560,12 +4617,12 @@ msgid "" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The B<curses.h> file which is installed for the wide-character library is " -"designed to be compatible with the normal library's header. Only the size " -"of the B<WINDOW> structure differs, and very few applications require more " -"than a pointer to B<WINDOW>s." +"The I<\\%curses.h> header file installed for the wide-character library is " +"designed to be compatible with the non-wide library's header. Only the size " +"of the I<\\%WINDOW> structure differs; few applications require more than " +"pointers to I<\\%WINDOW>s." msgstr "" #. type: Plain text @@ -4577,9 +4634,9 @@ msgid "" msgstr "" #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "--with-pthread" +msgid "B<--with-pthread>" msgstr "" #. type: Plain text @@ -4600,42 +4657,34 @@ msgid "" msgstr "" #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "--with-shared" +msgid "B<--with-shared>" msgstr "" -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "--with-normal" -msgstr "" - -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "--with-debug" +#. type: Plain text +#: archlinux +msgid "B<--with-normal>" msgstr "" -#. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "--with-profile" +#. type: Plain text +#: archlinux +msgid "B<--with-debug>" msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"The shared and normal (static) library names differ by their suffixes, e.g., " -"B<libncurses.so> and B<libncurses.a>. The debug and profiling libraries add " -"a \\*(``_g\\*('' and a \\*(``_p\\*('' to the root names respectively, e.g., " -"B<libncurses_g.a> and B<libncurses_p.a>." +"B<--with-profile> The shared and normal (static) library names differ by " +"their suffixes, e.g., B<libncurses.so> and B<libncurses.a>. The debug and " +"profiling libraries add a \\*(``_g\\*('' and a \\*(``_p\\*('' to the root " +"names respectively, e.g., B<libncurses_g.a> and B<libncurses_p.a>." msgstr "" #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "--with-termlib" +msgid "B<--with-termlib>" msgstr "" #. type: Plain text @@ -4659,44 +4708,44 @@ msgid "Those functions are described in these pages:" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_extend>(3X) - miscellaneous curses extensions" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_extend>(3X) - miscellaneous I<curses> extensions" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_inopts>(3X) - B<curses> input options" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_inopts>(3X) - I<curses> input options" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_kernel>(3X) - low-level B<curses> routines" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_kernel>(3X) - low-level I<curses> routines" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_termattrs>(3X) - B<curses> environment query routines" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_termattrs>(3X) - I<curses> environment query routines" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_termcap>(3X) - B<curses> emulation of termcap" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_termcap>(3X) - I<curses> emulation of I<termcap>" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_terminfo>(3X) - B<curses> interfaces to terminfo database" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_terminfo>(3X) - I<curses> interface to I<terminfo> database" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_util>(3X) - miscellaneous B<curses> utility routines" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "B<\\%curs_util>(3X) - miscellaneous I<curses> utility routines" msgstr "" #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux #, no-wrap -msgid "--with-trace" +msgid "B<--with-trace>" msgstr "" #. type: Plain text @@ -4715,462 +4764,498 @@ msgid "FILES" msgstr "" #. type: TP -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "/usr/share/tabset" +msgid "I</usr/share/tabset>" msgstr "" #. type: Plain text -#: archlinux -msgid "" -"directory containing initialization files for the terminal capability " -"database /usr/share/terminfo terminal capability database" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "tab stop initialization database" +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "I<\\*d>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "compiled terminal capability database" msgstr "" #. type: SH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "SEE ALSO" +msgid "NOTES" msgstr "" +#. See X/Open Curses Issue 4, Version 2, pp. 227-234. +#. See X/Open Curses Issue 7, pp. 311-318. #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"B<terminfo>(\\*n) and related pages whose names begin \\*(``curs_\\*('' for " -"detailed routine descriptions." +"X/Open Curses permits most functions it specifies to be made available as " +"macros as well. I<\\%ncurses> does so" msgstr "" #. type: Plain text -#: archlinux -msgid "B<curs_variables>(3X)" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "for functions that return values via their parameters," msgstr "" #. type: Plain text -#: archlinux -msgid "B<user_caps>(5) for user-defined capabilities" +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "to support obsolete features," msgstr "" -#. type: SH +#. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "EXTENSIONS" +msgid "" +"to reuse functions (for example, those that move the cursor before another " +"operation), and" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "a few special cases." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library can be compiled with an option (B<-DUSE_GETCAP>) " -"that falls back to the old-style /etc/termcap file if the terminal setup " -"code cannot find a terminfo entry corresponding to B<TERM>. Use of this " -"feature is not recommended, as it essentially includes an entire termcap " -"compiler in the B<ncurses> startup code, at significant cost in core and " -"startup cycles." +"If the standard output file descriptor of an I<\\%ncurses> program is " +"redirected to something that is not a terminal device, the library writes " +"screen updates to the standard error file descriptor. This was an " +"undocumented feature of SVr3 I<curses>." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library includes facilities for capturing mouse events on " -"certain terminals (including xterm). See the B<curs_mouse>(3X) manual page " -"for details." +"See subsection \\*(``Header Files\\*('' below regarding symbols exposed by " +"inclusion of I<\\%curses.h>." +msgstr "" + +#. type: SH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "EXTENSIONS" msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library includes facilities for responding to window resizing " -"events, e.g., when running in an xterm. See the B<resizeterm>(3X) and " -"B<wresize>(3X) manual pages for details. In addition, the library may be " -"configured with a B<SIGWINCH> handler." +"I<\\%ncurses> enables an application to capture mouse events on certain " +"terminals, including I<\\%xterm>(1); see B<\\%curs_mouse>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux mageia-cauldron msgid "" -"The B<ncurses> library extends the fixed set of function key capabilities of " -"terminals by allowing the application designer to define additional key " -"sequences at runtime. See the B<define_key>(3X) B<key_defined>(3X), and " -"B<keyok>(3X) manual pages for details." +"I<\\%ncurses> provides a means of responding to window resizing events, as " +"when running in a GUI terminal emulator application such as I<\\%xterm>; see " +"B<\\%resizeterm>(3X) and B<\\%wresize>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The B<ncurses> library can exploit the capabilities of terminals which " -"implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an " -"application to reset the terminal to its original foreground and background " -"colors. From the users' perspective, the application is able to draw " -"colored text on a background whose color is set independently, providing " -"better control over color contrasts. See the B<default_colors>(3X) manual " -"page for details." +"I<\\%ncurses> allows an application to query the terminal for the presence " +"of a wide variety of special keys; see B<\\%has_key>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library includes a function for directing application output " -"to a printer attached to the terminal device. See the B<curs_print>(3X) " -"manual page for details." +"I<\\%ncurses> extends the fixed set of function key capabilities specified " +"by X/Open Curses by allowing the application programmer to define additional " +"key events at runtime; see B<\\%define_key>(3X), B<\\%key_defined>(3X), B<\\" +"%keybound>(3X), and B<\\%keyok>(3X)." msgstr "" -#. type: SH +#. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "PORTABILITY" +msgid "" +"I<\\%ncurses> can exploit the capabilities of terminals implementing ISO\\ " +"6429/ECMA-48 SGR\\ 39 and SGR\\ 49 sequences, which allow an application to " +"reset the terminal to its original foreground and background colors. From a " +"user's perspective, the application is able to draw colored text on a " +"background whose color is set independently, providing better control over " +"color contrasts. See B<\\%default_colors>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"The B<ncurses> library is intended to be BASE-level conformant with XSI " -"Curses. The EXTENDED XSI Curses functionality (including color support) is " -"supported." +"An I<\\%ncurses> application can eschew knowledge of I<\\%WINDOW> structure " +"internals, instead using accessor functions such as B<\\%is_scrollok>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"A small number of local differences (that is, individual differences between " -"the XSI Curses and B<ncurses> calls) are described in B<PORTABILITY> " -"sections of the library man pages." -msgstr "" - -#. type: SS -#: archlinux -#, no-wrap -msgid "Error checking" +"I<\\%ncurses> enables an application to direct application output to a " +"printer attached to the terminal device; see B<\\%curs_print>(3X)." msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"In many cases, X/Open Curses is vague about error conditions, omitting some " -"of the SVr4 documentation." +"I<\\%ncurses> offers B<\\%slk_attr>(3X) as a counterpart of B<\\" +"%attr_get>(3X) for soft-label key lines, and B<\\%extended_slk_color>(3X) as " +"a form of B<\\%slk_color>(3X) that can gather color information from them " +"when many colors are supported." msgstr "" #. type: Plain text #: archlinux msgid "" -"Unlike other implementations, this one checks parameters such as pointers to " -"WINDOW structures to ensure they are not null. The main reason for " -"providing this behavior is to guard against programmer error. The standard " -"interface does not provide a way for the library to tell an application " -"which of several possible errors were detected. Relying on this (or some " -"other) extension will adversely affect the portability of curses " -"applications." +"Some extensions are available only if I<\\%ncurses> permits modification of " +"B<\\%unctrl>(3X)'s behavior; see B<\\%use_legacy_coding>(3X). I<\\%ncurses> " +"is compiled to support them; section \\*(``ALTERNATE CONFIGURATIONS\\*('' " +"describes how." msgstr "" -#. type: SS -#: archlinux -#, no-wrap -msgid "Extensions versus portability" +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"Rudimentary support for multi-threaded applications may be available; see " +"B<curs_threads>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Most of the extensions provided by ncurses have not been standardized. Some " -"have been incorporated into other implementations, such as PDCurses or " -"NetBSD curses. Here are a few to consider:" +"Functions that ease the management of multiple screens can be exposed; see " +"B<curs_sp_funcs>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"The routine B<has_key> is not part of XPG4, nor is it present in SVr4. See " -"the B<curs_getch>(3X) manual page for details." +"To aid applications to debug their memory usage, I<ncurses> optionally " +"offers functions to more aggressively free memory it dynamically allocates " +"itself; see B<curs_memleaks>(3X)." msgstr "" #. type: Plain text #: archlinux msgid "" -"The routine B<slk_attr> is not part of XPG4, nor is it present in SVr4. See " -"the B<curs_slk>(3X) manual page for details." +"The library facilitates auditing and troubleshooting of its behavior; see " +"B<curs_trace>(3X)." msgstr "" #. type: Plain text -#: archlinux +#: archlinux mageia-cauldron msgid "" -"The routines B<getmouse>, B<mousemask>, B<ungetmouse>, B<mouseinterval>, and " -"B<wenclose> relating to mouse interfacing are not part of XPG4, nor are they " -"present in SVr4. See the B<curs_mouse>(3X) manual page for details." +"The compiler option B<\\%-DUSE_GETCAP> causes the library to fall back to " +"reading I<\\%/etc/termcap> if the terminal setup code cannot find a I<\\" +"%term\\%info> entry corresponding to I<TERM>. Use of this feature is not " +"recommended, as it essentially includes an entire I<termcap> compiler in the " +"I<\\%ncurses> startup code, at a cost in memory usage and application launch " +"latency." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The routine B<mcprint> was not present in any previous curses " -"implementation. See the B<curs_print>(3X) manual page for details." +"I<\\%PDCurses> and NetBSD I<curses> incorporate some I<\\%ncurses> " +"extensions. Individual man pages indicate where this is the case." +msgstr "" + +#. type: SH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "PORTABILITY" msgstr "" #. type: Plain text #: archlinux msgid "" -"The routine B<wresize> is not part of XPG4, nor is it present in SVr4. See " -"the B<wresize>(3X) manual page for details." +"X/Open Curses defines two levels of conformance, \\*(``base\\*('' and " +"\\*(``enhanced\\*(''. The latter includes several additional features, such " +"as wide-character and color support. I<\\%ncurses> intends base-level " +"conformance with X/Open Curses, and supports all features of its enhanced " +"level except the B<\\%untic> utility." msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The WINDOW structure's internal details can be hidden from application " -"programs. See B<curs_opaque>(3X) for the discussion of B<is_scrollok>, etc." +"Differences between X/Open Curses and I<\\%ncurses> are documented in the " +"\\*(``PORTABILITY\\*('' sections of applicable man pages." +msgstr "" + +#. type: SS +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Error Checking" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"This implementation can be configured to provide rudimentary support for " -"multi-threaded applications. See B<curs_threads>(3X) for details." +"In many cases, X/Open Curses is vague about error conditions, omitting some " +"of the SVr4 documentation." msgstr "" #. type: Plain text #: archlinux msgid "" -"This implementation can also be configured to provide a set of functions " -"which improve the ability to manage multiple screens. See " -"B<curs_sp_funcs>(3X) for details." +"Unlike other implementations, I<\\%ncurses> checks pointer parameters, such " +"as those to I<\\%WINDOW> structures, to ensure that they are not null. This " +"is done primarily to guard against programmer error. The standard interface " +"does not provide a way for the library to tell an application which of " +"several possible errors occurred. Relying on this (or some other) " +"extension adversely affects the portability of I<curses> applications." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "Padding differences" +msgid "Padding Differences" msgstr "" #. type: Plain text #: archlinux msgid "" -"In historic curses versions, delays embedded in the capabilities B<cr>, " -"B<ind>, B<cub1>, B<ff> and B<tab> activated corresponding delay bits in the " -"UNIX tty driver. In this implementation, all padding is done by sending NUL " -"bytes. This method is slightly more expensive, but narrows the interface to " -"the UNIX kernel significantly and increases the package's portability " -"correspondingly." +"In historical I<curses> implementations, delays embedded in the I<\\%term\\" +"%info> capabilities B<\\%carriage_return> (B<cr>), B<\\%scroll_forward> " +"(B<ind>), B<\\%cursor_left> (B<cub1>), B<\\%form_feed> (B<ff>), and B<\\" +"%tab> (B<ht>) activated corresponding delay bits in the Unix terminal " +"driver. I<\\%ncurses> performs all padding by sending NUL bytes to the " +"device. This method is slightly more expensive, but narrows the interface " +"to the Unix kernel significantly and correspondingly increases the package's " +"portability." msgstr "" #. type: SS -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "Header files" +msgid "Header Files" msgstr "" #. type: Plain text -#: archlinux +#: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The header file B<E<lt>curses.hE<gt>> automatically includes the header " -"files B<E<lt>stdio.hE<gt>> and B<E<lt>unctrl.hE<gt>>." +"The header file I<\\%curses.h> itself includes the header files I<\\%stdio." +"h> and I<\\%unctrl.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "X/Open Curses has more to say, but does not finish the story:" +#: archlinux +msgid "X/Open Curses has more to say," msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"The inclusion of E<lt>curses.hE<gt> may make visible all symbols from the " -"headers E<lt>stdio.hE<gt>, E<lt>term.hE<gt>, E<lt>termios.hE<gt>, and " -"E<lt>wchar.hE<gt>." +"The inclusion of I<\\%curses.h> may make visible all symbols from the " +"headers I<\\%stdio.h>, I<\\%term.h>, I<\\%termios.h>, and I<\\%wchar.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "Here is a more complete story:" +#: archlinux +msgid "but does not finish the story. A more complete account follows." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"Starting with BSD curses, all implementations have included E<lt>stdio." -"hE<gt>." +"Starting with 4BSD I<curses> (1980) all implementations have provided a I<\\" +"%curses.h> file." msgstr "" #. type: Plain text #: archlinux msgid "" -"BSD curses included E<lt>curses.hE<gt> and E<lt>unctrl.hE<gt> from an " -"internal header \"curses.ext\" (\"ext\" was a short name for I<externs>)." +"BSD I<curses> code included I<\\%curses.h> and I<\\%unctrl.h> from an " +"internal header file I<\\%curses.ext>, where \\*(``ext\\*('' abbreviated " +"\\*(``externs\\*(''." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"BSD curses used E<lt>stdio.hE<gt> internally (for B<printw> and B<scanw>), " -"but nothing in E<lt>curses.hE<gt> itself relied upon E<lt>stdio.hE<gt>." +"The implementations of I<\\%printw> and I<\\%scanw> used undocumented " +"internal functions of the standard I/O library (I<_doprnt> and I<_doscan>), " +"but nothing in I<\\%curses.h> itself relied upon I<\\%stdio.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"SVr2 curses added B<newterm>(3X), which relies upon E<lt>stdio.hE<gt>. That " -"is, the function prototype uses B<FILE>." +"SVr2 I<curses> added I<\\%newterm>, which relies upon I<\\%stdio.h> because " +"its function prototype employs the I<FILE> type." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"SVr4 curses added B<putwin> and B<getwin>, which also use E<lt>stdio.hE<gt>." +"SVr4 I<curses> added I<\\%putwin> and I<\\%getwin>, which also use I<\\" +"%stdio.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "X/Open Curses documents all three of these functions." +#: archlinux +msgid "X/Open Curses specifies all three of these functions." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"SVr4 curses and X/Open Curses do not require the developer to include " -"E<lt>stdio.hE<gt> before including E<lt>curses.hE<gt>. Both document curses " -"showing E<lt>curses.hE<gt> as the only required header." +"SVr4 I<curses> and X/Open Curses do not require the developer to include I<\\" +"%stdio.h> before I<\\%curses.h>. Both document use of I<curses> as " +"requiring only I<\\%curses.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"As a result, standard E<lt>curses.hE<gt> will always include E<lt>stdio." -"hE<gt>." +#: archlinux +msgid "As a result, standard I<\\%curses.h> always includes I<\\%stdio.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"X/Open Curses is inconsistent with respect to SVr4 regarding E<lt>unctrl." -"hE<gt>." +"X/Open Curses and SVr4 I<curses> are inconsistent with respect to I<\\" +"%unctrl.h>." msgstr "" #. type: Plain text #: archlinux msgid "" -"As noted in B<curs_util>(3X), ncurses includes E<lt>unctrl.hE<gt> from " -"E<lt>curses.hE<gt> (like SVr4)." +"As noted in B<curs_util>(3X), I<\\%ncurses> includes I<\\%unctrl.h> from I<\\" +"%curses.h> (as SVr4 does)." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"X/Open's comments about E<lt>term.hE<gt> and E<lt>termios.hE<gt> may refer " -"to HP-UX and AIX:" +"X/Open Curses's comments about I<\\%term.h> and I<\\%termios.h> may refer to " +"HP-UX and AIX." msgstr "" #. type: Plain text #: archlinux msgid "" -"HP-UX curses includes E<lt>term.hE<gt> from E<lt>curses.hE<gt> to declare " -"B<setupterm> in curses.h, but ncurses (and Solaris curses) do not." +"HP-UX I<curses> includes I<\\%term.h> from I<\\%curses.h> to declare I<\\" +"%setupterm> in I<\\%curses.h>, but I<\\%ncurses> and Solaris I<curses> do " +"not." msgstr "" #. type: Plain text #: archlinux msgid "" -"AIX curses includes E<lt>term.hE<gt> and E<lt>termios.hE<gt>. Again, " -"ncurses (and Solaris curses) do not." +"AIX I<curses> includes I<\\%term.h> and I<\\%>termios.hI<.> Again, I<\\" +"%ncurses> and Solaris I<curses> do not." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"X/Open says that E<lt>curses.hE<gt> I<may> include E<lt>term.hE<gt>, but " -"there is no requirement that it do that." +"X/Open Curses says that I<\\%curses.h> B<may> include I<\\%term.h>, but does " +"not require it to do so." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"Some programs use functions declared in both E<lt>curses.hE<gt> and " -"E<lt>term.hE<gt>, and must include both headers in the same module. Very " -"old versions of AIX curses required including E<lt>curses.hE<gt> before " -"including E<lt>term.hE<gt>." +"Some programs use functions declared in both I<\\%curses.h> and I<\\%term." +"h>, and must include both header files in the same module. Very old " +"versions of AIX I<curses> required inclusion of I<\\%curses.h> before I<\\" +"%term.h>." msgstr "" #. type: Plain text #: archlinux msgid "" -"Because ncurses header files include the headers needed to define datatypes " -"used in the headers, ncurses header files can be included in any order. But " -"for portability, you should include E<lt>curses.hE<gt> before E<lt>term." -"hE<gt>." +"The header files supplied by I<\\%ncurses> include the standard library " +"headers required for its declarations, so I<\\%ncurses>'s own header files " +"can be included in any order. But for portability, you should include I<\\" +"%curses.h> before I<\\%term.h>." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"X/Open Curses says I<\"may make visible\"> because including a header file " -"does not necessarily make all symbols in it visible (there are ifdef's to " -"consider)." +"X/Open Curses says \\*(``may make visible\\*('' because including a header " +"file does not necessarily make visible all of the symbols in it (consider " +"B<\\%#ifdef> and similar)." msgstr "" +#. bold to contrast with preceding italic +#. bold for consistency in this paragraph #. type: Plain text #: archlinux msgid "" -"For instance, in ncurses E<lt>wchar.hE<gt> I<may> be included if the proper " -"symbol is defined, and if ncurses is configured for wide-character support. " -"If the header is included, its symbols may be made visible. That depends on " -"the value used for B<_XOPEN_SOURCE> feature test macro." +"For instance, I<\\%ncurses>'s I<\\%curses.h> B<may> include I<\\%wchar.h> if " +"the proper symbol is defined, and if I<\\%ncurses> is configured for wide-" +"character support. If I<\\%wchar.h> is included, its symbols B<may> be made " +"visible depending on the value of the B<_XOPEN_SOURCE> feature test macro." msgstr "" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"X/Open Curses documents one required header, in a special case: E<lt>stdarg." -"hE<gt> before E<lt>curses.hE<gt> to prototype the B<vw_printw> and " -"B<vw_scanw> functions (as well as the obsolete the B<vwprintw> and " -"B<vwscanw> functions). Each of those uses a B<va_list> parameter." +"X/Open Curses mandates an application's inclusion of one standard C library " +"header in a special case: I<\\%stdarg.h> before I<\\%curses.h> to prototype " +"the functions I<\\%vw_printw> and I<\\%vw_scanw> (as well as the obsolete " +"I<\\%vwprintw> and I<\\%vwscanw>). Each of these takes a variadic argument " +"list, a I<\\%va_list> parameter, like that of I<\\%printf>(3)." msgstr "" +#. V7, 32V, System III, 3BSD #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux msgid "" -"The two obsolete functions were introduced in SVr3. The other functions " -"were introduced in X/Open Curses. In between, SVr4 curses provided for the " -"possibility that an application might include either E<lt>varargs.hE<gt> or " -"E<lt>stdarg.hE<gt>. Initially, that was done by using B<void*> for the " -"B<va_list> parameter. Later, a special type (defined in E<lt>stdio.hE<gt>) " -"was introduced, to allow for compiler type-checking. That special type is " -"always available, because E<lt>stdio.hE<gt> is always included by " -"E<lt>curses.hE<gt>." +"SVr3 I<curses> introduced the two obsolete functions, and X/Open Curses the " +"others. In between, SVr4 I<curses> provided for the possibility that an " +"application might include either I<\\%varargs.h> or I<\\%stdarg.h>. These " +"represented contrasting approaches to handling variadic argument lists. The " +"older interface, I<\\%varargs.h>, used a pointer to I<char> for variadic " +"functions' I<\\%va_list> parameter. Later, the list acquired its own " +"standard data type, I<\\%va_list>, defined in I<\\%stdarg.h>, empowering the " +"compiler to check the types of a function call's actual parameters against " +"the formal ones declared in its prototype." msgstr "" #. type: Plain text #: archlinux msgid "" -"None of the X/Open Curses implementations require an application to include " -"E<lt>stdarg.hE<gt> before E<lt>curses.hE<gt> because they either have " -"allowed for a special type, or (like ncurses) include E<lt>stdarg.hE<gt> " -"directly to provide a portable interface." +"No conforming implementations of X/Open Curses require an application to " +"include I<\\%stdarg.h> before I<\\%curses.h> because they either have " +"allowed for a special type, or, like I<\\%ncurses>, they include I<\\%stdarg." +"h> themselves to provide a portable interface." msgstr "" #. type: SH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "NOTES" +msgid "AUTHORS" msgstr "" #. type: Plain text #: archlinux msgid "" -"If standard output from a B<ncurses> program is re-directed to something " -"which is not a tty, screen updates will be directed to standard error. This " -"was an undocumented feature of AT&T System V Release 3 curses." +"Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on I<\\" +"%pcurses> by Pavel Curtis." msgstr "" #. type: SH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "AUTHORS" +msgid "SEE ALSO" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on I<pcurses> " -"by Pavel Curtis." +msgid "B<\\%curs_variables>(3X), B<\\%terminfo>(5), B<\\%user_caps>(5)" msgstr "" #. type: TH -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide #, no-wrap msgid "2024-01-13" msgstr "" @@ -5181,23 +5266,6 @@ msgstr "" msgid "ncurses 6.4" msgstr "" -#. type: TH -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Library calls" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%ncurses> - character-cell terminal interface with optimized output" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "B<#include E<lt>curses.hE<gt>>\n" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide msgid "" @@ -5209,7 +5277,7 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "The I<\\%ncurses> library emulates the curses library of System V Release 4 " "Unix (\\*(``SVr4\\*(''), and XPG4 (X/Open Portability Guide) curses (also " @@ -5220,13 +5288,6 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"I<\\%ncurses> man pages employ several sections to clarify matters of usage " -"and interoperability with other I<curses> implementations." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" "\\*(``NOTES\\*('' describes matters and caveats of which any user of the I<\\" "%ncurses> API should be aware, such as limitations on the size of an " "underlying integral type or the availability of a preprocessor macro " @@ -5238,15 +5299,6 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"\\*(``EXTENSIONS\\*('' presents I<\\%ncurses> innovations beyond the X/Open " -"Curses standard and/or the SVr4 I<curses> implementation. They are termed " -"I<extensions> to indicate that they cannot be implemented solely by using " -"the library API, but require access to the library's internal state." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" "\\*(``PORTABILITY\\*('' discusses matters (beyond the exercise of " "extensions) that should be considered when writing to a I<curses> standard, " "or to multiple implementations." @@ -5255,15 +5307,6 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"\\*(``HISTORY\\*('' examines points of detail in I<\\%ncurses> and other " -"I<curses> implementations over the decades of their development, " -"particularly where precedent or inertia have frustrated better design (and, " -"in a few cases, where such inertia has been overcome)." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" "A program using these routines must be linked with the B<-lncurses> option, " "or (if it has been generated) with the debugging library B<-lncurses_g>. " "(Your system integrator may also have installed these libraries under the " @@ -5274,7 +5317,7 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "The I<\\%ncurses> package supports: overall screen, window and pad " "manipulation; output to windows and pads; reading terminal input; control " @@ -5285,11 +5328,42 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The library uses the locale which the calling program has initialized. That " +"is normally done with B<setlocale>(3):" +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "B<setlocale(LC_ALL, \"\");>\n" msgstr "" #. type: Plain text +#: fedora-40 fedora-rawhide +msgid "" +"If the locale is not initialized, the library assumes that characters are " +"printable as in ISO-8859-1, to work with certain legacy programs. You " +"should initialize the locale and not rely on specific details of the library " +"when the locale has not been setup." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The function B<initscr> or B<newterm> must be called to initialize the " +"library before any of the other routines that deal with windows and screens " +"are used. The routine B<endwin>(3X) must be called before exiting." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"To get character-at-a-time input without echoing (most interactive, screen " +"oriented programs want this), the following sequence should be used:" +msgstr "" + +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "B<initscr(); cbreak(); noecho();>\n" @@ -5297,6 +5371,11 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron +msgid "Most programs would additionally use the sequence:" +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "B<intrflush(stdscr, FALSE);>\n" @@ -5314,23 +5393,6 @@ msgid "" "Initialization\\*('' of B<terminfo>(5)." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Overview" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"A I<curses> library abstracts the terminal screen by representing all or " -"part of it as a I<\\%WINDOW> data structure. A I<window> is a rectangular " -"grid of character cells, addressed by row and column coordinates (I<y>, " -"I<x>), with the upper left corner as (0, 0). A window called B<\\%stdscr>, " -"the same size as the terminal screen, is always available. Create others " -"with B<\\%newwin>(3X)." -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5342,7 +5404,7 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "Functions permit manipulation of a window and the I<cursor> identifying the " "cell within it at which the next output operation will occur. Among those, " @@ -5379,40 +5441,11 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Special windows called I<pads> may also be manipulated. These are windows " -"that are not constrained to the size of the terminal screen and whose " -"contents need not be completely displayed. See B<\\%curs_pad>(3X)." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"In addition to drawing characters on the screen, rendering attributes and " -"colors may be supported, causing the characters to show up in such modes as " -"underlined, in reverse video, or in color on terminals that support such " -"display enhancements. See B<\\%curs_attr>(3X)." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" "I<curses> predefines constants for a small set of line-drawing and other " "graphics corresponding to the DEC Alternate Character Set (ACS), a feature " "of VT100 and other terminals. See B<\\%waddch>(3X) and B<\\%wadd_wch>(3X)." msgstr "" -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"I<curses> is implemented using the operating system's terminal driver; " -"keystroke events are received not as scan codes but as byte sequences. " -"Graphical keycaps (alphanumeric and punctuation keys, and the space) appear " -"as-is. Everything else, including the tab, enter/return, keypad, arrow, and " -"function keys, appears as a control character or a multibyte I<escape " -"sequence.> I<curses> translates these into unique I<key codes.> See B<\\" -"%getch>(3X)." -msgstr "" - #. type: SS #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap @@ -5422,15 +5455,6 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The selection of an appropriate value of I<TERM> in the process environment " -"is essential to correct I<curses> and I<\\%term\\%info> library operation. " -"A well-configured system selects a correct I<TERM> value automatically; B<\\" -"%tset>(1) may assist with troubleshooting exotic situations." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" "If the environment variables I<LINES> and I<\\%COLUMNS> are set, or if the " "I<curses> program is executing in a graphical windowing environment, the " "information obtained thence overrides that obtained by I<\\%term\\%info>. " @@ -5449,17 +5473,6 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "See section \\*(``ENVIRONMENT\\*('' below." -msgstr "" - -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Naming Conventions" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron msgid "" "Many I<curses> functions have two or more versions. Those prefixed with " "\\*(``w\\*('' require a window argument. Four functions prefixed with " @@ -5467,31 +5480,6 @@ msgid "" "operate on B<\\%stdscr>." msgstr "" -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"In function synopses, I<\\%ncurses> man pages apply the following names to " -"parameters." -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "bf" -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<bool> (B<TRUE> or B<FALSE>)" -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "win" -msgstr "" - #. type: tbl table #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap @@ -5501,38 +5489,11 @@ msgstr "" #. type: tbl table #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "pad" -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap msgid "pointer to I<WINDOW> that is a pad" msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Wide and Non-wide Character Configurations" -msgstr "" - -#. "ncursesw" + 2n -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"This manual page describes functions that appear in any configuration of the " -"library. There are two common configurations; see section \\*(``ALTERNATE " -"CONFIGURATIONS\\*('' below." -msgstr "" - -#. type: TP -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<\\%ncurses>" -msgstr "" - #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "is the library in its \\*(``non-wide\\*('' configuration, handling only " "eight-bit characters. It stores a character combined with attributes in a " @@ -5540,42 +5501,12 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"Attributes alone (with no corresponding character) can be stored in " -"variables of I<\\%chtype> or I<\\%attr_t> type. In either case, they are " -"represented as an integral bit mask." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "Each cell of a I<\\%WINDOW> is stored as a I<\\%chtype.>" msgstr "" -#. type: TP -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<\\%ncursesw>" -msgstr "" - -#. same as foregoing tag width -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"is the library in its \\*(``wide\\*('' configuration, which handles " -"character encodings requiring a larger data type than I<\\%char> (a byte-" -"sized type) can represent. It adds about one third more calls using " -"additional data types that can store such I<multibyte> characters." -msgstr "" - -#. type: TP -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<\\%cchar_t>" -msgstr "" - #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "corresponds to the non-wide configuration's I<\\%chtype.> It always a " "structure type, because it stores more data than fits into an integral " @@ -5588,7 +5519,7 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "Each cell of a I<\\%WINDOW> is stored as a I<\\%cchar_t.>" msgstr "" @@ -5600,14 +5531,8 @@ msgid "" "%ncurses> depends on two data types standardized by ISO C95." msgstr "" -#. type: TP -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<\\%wchar_t>" -msgstr "" - #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "stores a wide character. Like I<\\%chtype,> it may be an alias of I<int.> " "Depending on the character encoding, a wide character may be I<spacing,> " @@ -5618,20 +5543,6 @@ msgid "" "does not advance the cursor." msgstr "" -#. type: TP -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<\\%wint_t>" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"can store a I<\\%wchar_t> or the constant B<\\%WEOF>, analogously to the " -"I<int>-sized character manipulation functions of ISO C and its constant B<\\" -"%EOF>." -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5654,67 +5565,35 @@ msgid "" "suffixed with \\*(``_set\\*(''." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Function Name Index" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The following table lists the I<curses> functions provided in the non-wide " -"and wide APIs and the corresponding man pages that describe them. Those " -"flagged with \\*(``*\\*('' are I<\\%ncurses>-specific, neither described by " -"X/Open Curses nor present in SVr4." -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "\\f(BIcurses\\fR Function Name" -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Man Page" -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "_" -msgstr "" - -#. type: tbl table -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "is_cbreak" +"Depending on the configuration, additional sets of functions may be " +"available:" msgstr "" -#. type: tbl table +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<curs_inopts>(3X)*" +msgid "B<curs_memleaks>(3X) - curses memory-leak checking" msgstr "" -#. type: tbl table +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "is_echo" +msgid "B<curs_sp_funcs>(3X) - curses screen-pointer extension" msgstr "" -#. type: tbl table +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "is_nl" +msgid "B<curs_threads>(3X) - curses thread support" msgstr "" -#. type: tbl table +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "is_raw" +msgid "B<curs_trace>(3X) - curses debugging routines" msgstr "" #. type: Plain text @@ -5742,12 +5621,6 @@ msgid "" "already discussed in detail." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<CC> (command character)" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5764,14 +5637,8 @@ msgid "" "single character." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<BAUDRATE>" -msgstr "" - #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "The debugging library checks this environment variable when the application " "has redirected output to a file. The variable's numeric value is used for " @@ -5780,12 +5647,6 @@ msgid "" "depend on baudrate." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<COLUMNS>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5826,12 +5687,6 @@ msgid "" "screen size obtained from system calls or the terminal database." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<ESCDELAY>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5844,6 +5699,25 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"The most common instance where you may wish to change this value is to work " +"with slow hosts, e.g., running on a network. If the host cannot read " +"characters rapidly enough, it will have the same effect as if the terminal " +"did not send characters rapidly enough. The library will still see a " +"timeout." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"Note that xterm mouse events are built up from character sequences received " +"from the xterm. If your application makes heavy use of multiple-clicking, " +"you may wish to lengthen this default value because the timeout applies to " +"the composed multi-click event as well as the individual clicks." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "In addition to the environment variable, this implementation provides a " "global variable with the same name. Portable applications should not rely " "upon the presence of B<\\%ESCDELAY> in either form, but setting the " @@ -5851,12 +5725,6 @@ msgid "" "problems when compiling an application." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<HOME>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5872,12 +5740,6 @@ msgid "" "$HOME/.terminfo\n" msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<LINES>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5885,10 +5747,12 @@ msgid "" "%COLUMNS> for a detailed description." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<MOUSE_BUTTONS_123>" +msgid "" +"This applies only to the OS/2 EMX port. It specifies the order of buttons " +"on the mouse. OS/2 numbers a 3-button mouse inconsistently from other " +"platforms:" msgstr "" #. type: Plain text @@ -5908,12 +5772,6 @@ msgid "" "I<\\%ncurses> uses 132." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_ASSUMED_COLORS>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5926,21 +5784,19 @@ msgid "" "terminfo B<max_colors> value is allowed." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_CONSOLE2>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "This applies only to the MinGW port of I<\\%ncurses>." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_GPM_TERMS>" +msgid "" +"The B<Console2> program's handling of the Microsoft Console API call " +"B<CreateConsoleScreenBuffer> is defective. Applications which use this will " +"hang. However, it is possible to simulate the action of this call by " +"mapping coordinates, explicitly saving and restoring the original screen " +"contents. Setting the environment variable B<NCGDB> has the same effect." msgstr "" #. type: Plain text @@ -5964,12 +5820,6 @@ msgid "" "GPM if I<TERM> contains \\*(``linux\\*(''." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_NO_HARD_TABS>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5979,12 +5829,6 @@ msgid "" "adjust your B<stty>(1) settings to avoid the problem." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_NO_MAGIC_COOKIE>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -5994,10 +5838,28 @@ msgid "" "environment variable to any value." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_NO_PADDING>" +msgid "" +"Most of the terminal descriptions in the terminfo database are written for " +"real \\*(``hardware\\*('' terminals. Many people use terminal emulators " +"which run in a windowing environment and use curses-based applications. " +"Terminal emulators can duplicate all of the important aspects of a hardware " +"terminal, but they do not have the same limitations. The chief limitation " +"of a hardware terminal from the standpoint of your application is the " +"management of dataflow, i.e., timing. Unless a hardware terminal is " +"interfaced into a terminal concentrator (which does flow control), it (or " +"your application) must manage dataflow, preventing overruns. The cheapest " +"solution (no hardware cost) is for your program to do this by pausing after " +"operations that the terminal does slowly, such as clearing the display." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"As a result, many terminal descriptions (including the vt100) have delay " +"times embedded. You may wish to use these descriptions, but not want to pay " +"the performance penalty." msgstr "" #. type: Plain text @@ -6008,10 +5870,19 @@ msgid "" "sequences such as B<flash>." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_NO_SETBUF>" +msgid "This setting is obsolete. Before changes" +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "started with 5.9 patch 20120825 and" +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "continued though 5.9 patch 20130126" msgstr "" #. type: Plain text @@ -6044,12 +5915,6 @@ msgid "" "use the standard output. But high-level curses calls do not." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_NO_UTF8_ACS>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -6067,13 +5932,21 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"When setting this variable, you should set it to a nonzero value. Setting " +"it to zero (or to a nonnumber) disables the special check for " +"\\*(``linux\\*('' and \\*(``screen\\*(''." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "As an alternative to the environment variable, I<\\%ncurses> checks for an " "extended terminfo capability B<U8>. This is a numeric capability which can " "be compiled using B<tic\\ -x>. For example" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide #, no-wrap msgid "" "# linux console, if patched to provide working\n" @@ -6083,7 +5956,7 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide #, no-wrap msgid "" "# uxterm with vt100Graphics resource set to false\n" @@ -6098,12 +5971,6 @@ msgid "" "used by applications that use I<\\%ncurses>' termcap interface." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<NCURSES_TRACE>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -6112,10 +5979,24 @@ msgid "" "I<\\%ncurses> calls the B<trace> function, using that value as the argument." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<TERM>" +msgid "" +"The argument values, which are defined in B<curses.h>, provide several types " +"of information. When running with traces enabled, your application will " +"write the file B<trace> to the current directory." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "See B<curs_trace>(3X) for more information." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"Denotes your terminal type. Each terminal type is distinct, though many are " +"similar." msgstr "" #. type: Plain text @@ -6138,12 +6019,6 @@ msgid "" "configuration value do not change their behavior to match that setting." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<TERMCAP>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -6162,12 +6037,6 @@ msgid "" "information, e.g., /etc/termcap." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<TERMINFO>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -6180,6 +6049,13 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"Normally these are stored in a directory tree, using subdirectories named by " +"the first letter of the terminal names therein." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "This is the scheme used in System V, which legacy Unix systems use, and the " "I<\\%TERMINFO> variable is used by I<curses> applications on those systems " "to override the default location of the terminal database." @@ -6206,6 +6082,11 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron +msgid "rather than" +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "/usr/share/terminfo/\n" msgstr "" @@ -6213,6 +6094,15 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"The hashed database uses less disk-space and is a little faster than the " +"directory tree. However, some applications assume the existence of the " +"directory tree, reading it directly rather than using the terminfo library " +"calls." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "If I<\\%ncurses> is built with a support for reading termcap files directly, " "then an entry in this list may be the path of a termcap file." msgstr "" @@ -6263,7 +6153,7 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "locations listed in the I<\\%TERMINFO_DIRS> environment variable" +msgid "$HOME/.terminfo" msgstr "" #. type: Plain text @@ -6285,12 +6175,6 @@ msgstr "" msgid "/usr/share/terminfo (corresponding to the I<TERMINFO> variable)" msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<TERMINFO_DIRS>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -6307,12 +6191,6 @@ msgid "" "developed for I<\\%ncurses>." msgstr "" -#. type: SS -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "I<TERMPATH>" -msgstr "" - #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" @@ -6336,145 +6214,102 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.\n" +msgid "in that order." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Many different I<\\%ncurses> configurations are possible, determined by the " -"options given to the I<\\%configure> script when building the library. Run " -"the script with the B<--help> option to peruse them all. A few are of " -"particular significance to the application developer employing I<\\%ncurses.>" +"The library may be configured to disregard the following variables when the " +"current user is the superuser (root), or if the application uses setuid or " +"setgid permissions:" msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "The standard include for I<\\%ncurses> is as noted in B<SYNOPSIS>:" +#, no-wrap +msgid "$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.\n" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" -"This option is used to avoid filename conflicts when I<\\%ncurses> is not " -"the main implementation of curses of the computer. If I<\\%ncurses> is " -"installed disabling overwrite, it puts its headers in a subdirectory, e.g.," -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "B<#include E<lt>ncurses/curses.hE<gt>>\n" +"Many different I<\\%ncurses> configurations are possible, determined by the " +"options given to the I<\\%configure> script when building the library. Run " +"the script with the B<--help> option to peruse them all. A few are of " +"particular significance to the application developer employing I<\\%ncurses.>" msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<-lncurses>\n" +msgid "--disable-overwrite" msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "B<-lncursesw>\n" +msgid "--enable-widec" msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The I<\\%curses.h> header file installed for the wide-character library is " -"designed to be compatible with the non-wide library's header. Only the size " -"of the I<\\%WINDOW> structure differs; few applications require more than " -"pointers to I<\\%WINDOW>s." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_extend>(3X) - miscellaneous I<curses> extensions" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_inopts>(3X) - I<curses> input options" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_kernel>(3X) - low-level I<curses> routines" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_termattrs>(3X) - I<curses> environment query routines" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_termcap>(3X) - I<curses> emulation of I<termcap>" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_terminfo>(3X) - I<curses> interface to I<terminfo> database" +"You must also enable the wide-character features in the header file when " +"compiling for the wide-character library to use the extended (wide-" +"character) functions. The symbol which enables these features has changed " +"since XSI Curses, Issue 4:" msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_util>(3X) - miscellaneous I<curses> utility routines" +#, no-wrap +msgid "--with-pthread" msgstr "" #. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "I</usr/share/tabset>" +msgid "--with-shared" msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron -msgid "tab stop initialization database" +#, no-wrap +msgid "--with-normal" msgstr "" #. type: TP #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "I<\\*d>" +msgid "--with-debug" msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron -msgid "compiled terminal capability database" +#, no-wrap +msgid "--with-profile" msgstr "" -#. See X/Open Curses Issue 4, Version 2, pp. 227-234. -#. See X/Open Curses Issue 7, pp. 311-318. #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"X/Open Curses permits most functions it specifies to be made available as " -"macros as well. I<\\%ncurses> does so" -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "for functions that return values via their parameters," -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "to support obsolete features," +"The shared and normal (static) library names differ by their suffixes, e.g., " +"B<libncurses.so> and B<libncurses.a>. The debug and profiling libraries add " +"a \\*(``_g\\*('' and a \\*(``_p\\*('' to the root names respectively, e.g., " +"B<libncurses_g.a> and B<libncurses_p.a>." msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"to reuse functions (for example, those that move the cursor before another " -"operation), and" +#, no-wrap +msgid "--with-termlib" msgstr "" -#. type: Plain text +#. type: TP #: fedora-40 fedora-rawhide mageia-cauldron -msgid "a few special cases." +#, no-wrap +msgid "--with-trace" msgstr "" #. type: Plain text @@ -6494,14 +6329,14 @@ msgid "" msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "I<\\%ncurses> enables an application to capture mouse events on certain " "terminals, including I<\\%xterm;> see B<\\%curs_mouse>(3X)." msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" "I<\\%ncurses> provides a means of responding to window resizing events, as " "when running in a GUI terminal emulator application such as I<\\%xterm;> see " @@ -6511,13 +6346,6 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"I<\\%ncurses> allows an application to query the terminal for the presence " -"of a wide variety of special keys; see B<\\%has_key>(3X)." -msgstr "" - -#. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron -msgid "" "I<\\%ncurses> extends the fixed set of function key capabilities specified " "by X/Open Curses by allowing the application programmer to define additional " "key sequences at runtime; see B<\\%define_key>(3X), B<\\%key_defined>(3X), " @@ -6527,149 +6355,141 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"I<\\%ncurses> can exploit the capabilities of terminals implementing ISO\\ " -"6429/ECMA-48 SGR\\ 39 and SGR\\ 49 sequences, which allow an application to " -"reset the terminal to its original foreground and background colors. From a " -"user's perspective, the application is able to draw colored text on a " -"background whose color is set independently, providing better control over " -"color contrasts. See B<\\%default_colors>(3X)." +"An I<\\%ncurses> application can choose to hide the internal details of I<\\" +"%WINDOW> structures, instead using accessor functions such as B<\\" +"%is_scrollok>(3X)." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"An I<\\%ncurses> application can choose to hide the internal details of I<\\" -"%WINDOW> structures, instead using accessor functions such as B<\\" -"%is_scrollok>(3X)." +"Some extensions are only available if I<\\%ncurses> is compiled to support " +"them; see section \\*(``ALTERNATE CONFIGURATIONS\\*('' above." msgstr "" #. type: Plain text -#: fedora-40 fedora-rawhide mageia-cauldron +#: fedora-40 fedora-rawhide msgid "" -"I<\\%ncurses> enables an application to direct application output to a " -"printer attached to the terminal device; see B<\\%curs_print>(3X)." +"The compiler option B<\\%-DUSE_GETCAP> causes the library to fall back to " +"reading I<\\%/etc/termcap> if the terminal setup code cannot find a I<\\" +"%term\\%info> entry corresponding to I<TERM.> Use of this feature is not " +"recommended, as it essentially includes an entire I<termcap> compiler in the " +"I<\\%ncurses> startup code, at a cost in memory usage and application launch " +"latency." msgstr "" +#. XXX: What's missing? GBR counts untic(1), and that's all. #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"I<\\%ncurses> offers B<\\%slk_attr>(3X) as a counterpart of B<\\" -"%attr_get>(3X) for soft-label key lines, and B<\\%extended_slk_color>(3X) as " -"a form of B<\\%slk_color>(3X) that can gather color information from them " -"when many colors are supported." +"X/Open Curses defines two levels of conformance, \\*(``base\\*('' and " +"\\*(``enhanced\\*(''. The latter includes several additional features, such " +"as wide-character and color support. I<\\%ncurses> intends base-level " +"conformance with X/Open Curses, and supports nearly all its enhanced " +"features." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Some extensions are only available if I<\\%ncurses> is compiled to support " -"them; see section \\*(``ALTERNATE CONFIGURATIONS\\*('' above." +"Unlike other implementations, this one checks parameters such as pointers to " +"I<\\%WINDOW> structures to ensure they are not null. The main reason for " +"providing this behavior is to guard against programmer error. The standard " +"interface does not provide a way for the library to tell an application " +"which of several possible errors were detected. Relying on this (or some " +"other) extension will adversely affect the portability of curses " +"applications." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Rudimentary support for multi-threaded applications may be available; see " -"B<curs_threads>(3X)." +"In historic curses versions, delays embedded in the capabilities B<cr>, " +"B<ind>, B<cub1>, B<ff> and B<tab> activated corresponding delay bits in the " +"Unix tty driver. In this implementation, all padding is done by sending NUL " +"bytes. This method is slightly more expensive, but narrows the interface to " +"the Unix kernel significantly and increases the package's portability " +"correspondingly." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"Functions that ease the management of multiple screens can be exposed; see " -"B<curs_sp_funcs>(3X)." +msgid "X/Open Curses has more to say, but does not finish the story:" msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The compiler option B<\\%-DUSE_GETCAP> causes the library to fall back to " -"reading I<\\%/etc/termcap> if the terminal setup code cannot find a I<\\" -"%term\\%info> entry corresponding to I<TERM.> Use of this feature is not " -"recommended, as it essentially includes an entire I<termcap> compiler in the " -"I<\\%ncurses> startup code, at a cost in memory usage and application launch " -"latency." +"The inclusion of E<lt>curses.hE<gt> may make visible all symbols from the " +"headers E<lt>stdio.hE<gt>, E<lt>term.hE<gt>, E<lt>termios.hE<gt>, and " +"E<lt>wchar.hE<gt>." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"I<\\%PDCurses> and NetBSD I<curses> incorporate some I<\\%ncurses> " -"extensions. Individual man pages indicate where this is the case." +msgid "Here is a more complete story:" msgstr "" -#. XXX: What's missing? GBR counts untic(1), and that's all. #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"X/Open Curses defines two levels of conformance, \\*(``base\\*('' and " -"\\*(``enhanced\\*(''. The latter includes several additional features, such " -"as wide-character and color support. I<\\%ncurses> intends base-level " -"conformance with X/Open Curses, and supports nearly all its enhanced " -"features." +"Starting with BSD curses, all implementations have included E<lt>stdio." +"hE<gt>." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Differences between X/Open Curses and I<\\%ncurses> are documented in the " -"\\*(``PORTABILITY\\*('' sections of applicable man pages." +"BSD curses included E<lt>curses.hE<gt> and E<lt>unctrl.hE<gt> from an " +"internal header file I<\\%curses.ext> (\\*(``ext\\*('' abbreviated " +"\\*(``externs\\*('')." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Error Checking" +msgid "" +"BSD curses used E<lt>stdio.hE<gt> internally (for B<printw> and B<scanw>), " +"but nothing in E<lt>curses.hE<gt> itself relied upon E<lt>stdio.hE<gt>." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"Unlike other implementations, this one checks parameters such as pointers to " -"I<\\%WINDOW> structures to ensure they are not null. The main reason for " -"providing this behavior is to guard against programmer error. The standard " -"interface does not provide a way for the library to tell an application " -"which of several possible errors were detected. Relying on this (or some " -"other) extension will adversely affect the portability of curses " -"applications." +"SVr2 curses added B<newterm>(3X), which relies upon E<lt>stdio.hE<gt>. That " +"is, the function prototype uses B<FILE>." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Padding Differences" +msgid "" +"SVr4 curses added B<putwin> and B<getwin>, which also use E<lt>stdio.hE<gt>." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "" -"In historic curses versions, delays embedded in the capabilities B<cr>, " -"B<ind>, B<cub1>, B<ff> and B<tab> activated corresponding delay bits in the " -"Unix tty driver. In this implementation, all padding is done by sending NUL " -"bytes. This method is slightly more expensive, but narrows the interface to " -"the Unix kernel significantly and increases the package's portability " -"correspondingly." +msgid "X/Open Curses documents all three of these functions." msgstr "" -#. type: SS +#. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -#, no-wrap -msgid "Header Files" +msgid "" +"SVr4 curses and X/Open Curses do not require the developer to include " +"E<lt>stdio.hE<gt> before including E<lt>curses.hE<gt>. Both document curses " +"showing E<lt>curses.hE<gt> as the only required header." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"The header file I<\\%curses.h> itself includes the header files I<\\%stdio." -"h> and I<\\%unctrl.h>." +"As a result, standard E<lt>curses.hE<gt> will always include E<lt>stdio." +"hE<gt>." msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" -"BSD curses included E<lt>curses.hE<gt> and E<lt>unctrl.hE<gt> from an " -"internal header file I<\\%curses.ext> (\\*(``ext\\*('' abbreviated " -"\\*(``externs\\*('')." +"X/Open Curses is inconsistent with respect to SVr4 regarding E<lt>unctrl." +"hE<gt>." msgstr "" #. type: Plain text @@ -6682,6 +6502,13 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"X/Open's comments about E<lt>term.hE<gt> and E<lt>termios.hE<gt> may refer " +"to HP-UX and AIX:" +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "HP-UX curses includes E<lt>term.hE<gt> from E<lt>curses.hE<gt> to declare " "B<setupterm> in curses.h, but I<\\%ncurses> (and Solaris curses) do not." msgstr "" @@ -6696,6 +6523,22 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"X/Open says that E<lt>curses.hE<gt> I<may> include E<lt>term.hE<gt>, but " +"there is no requirement that it do that." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"Some programs use functions declared in both E<lt>curses.hE<gt> and " +"E<lt>term.hE<gt>, and must include both headers in the same module. Very " +"old versions of AIX curses required including E<lt>curses.hE<gt> before " +"including E<lt>term.hE<gt>." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "Because I<\\%ncurses> header files include the headers needed to define " "datatypes used in the headers, I<\\%ncurses> header files can be included in " "any order. But for portability, you should include E<lt>curses.hE<gt> " @@ -6705,6 +6548,14 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"X/Open Curses says I<\"may make visible\"> because including a header file " +"does not necessarily make all symbols in it visible (there are ifdef's to " +"consider)." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "For instance, in I<\\%ncurses> E<lt>wchar.hE<gt> I<may> be included if the " "proper symbol is defined, and if I<\\%ncurses> is configured for wide-" "character support. If the header is included, its symbols may be made " @@ -6715,6 +6566,28 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron msgid "" +"X/Open Curses documents one required header, in a special case: E<lt>stdarg." +"hE<gt> before E<lt>curses.hE<gt> to prototype the B<vw_printw> and " +"B<vw_scanw> functions (as well as the obsolete the B<vwprintw> and " +"B<vwscanw> functions). Each of those uses a B<va_list> parameter." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The two obsolete functions were introduced in SVr3. The other functions " +"were introduced in X/Open Curses. In between, SVr4 curses provided for the " +"possibility that an application might include either E<lt>varargs.hE<gt> or " +"E<lt>stdarg.hE<gt>. Initially, that was done by using B<void*> for the " +"B<va_list> parameter. Later, a special type (defined in E<lt>stdio.hE<gt>) " +"was introduced, to allow for compiler type-checking. That special type is " +"always available, because E<lt>stdio.hE<gt> is always included by " +"E<lt>curses.hE<gt>." +msgstr "" + +#. type: Plain text +#: fedora-40 fedora-rawhide mageia-cauldron +msgid "" "None of the X/Open Curses implementations require an application to include " "E<lt>stdarg.hE<gt> before E<lt>curses.hE<gt> because they either have " "allowed for a special type, or (like I<\\%ncurses>) include E<lt>stdarg." @@ -6723,20 +6596,97 @@ msgstr "" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron -msgid "B<\\%curs_variables>(3X), B<\\%terminfo>(5), B<\\%user_caps>(5)" +msgid "" +"Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on I<pcurses> " +"by Pavel Curtis." +msgstr "" + +#. type: TH +#: mageia-cauldron +#, no-wrap +msgid "2024-03-23" msgstr "" #. type: Plain text #: mageia-cauldron msgid "" -"The I<\\%ncurses> library routines give the user a terminal-independent " -"method of updating character screens with reasonable optimization. This " -"implementation is \\*(``new curses\\*('' (I<\\%ncurses>) and is the approved " -"replacement for 4.4BSD classic curses, which has been discontinued. This " -"describes I<\\%ncurses> version 6.4 (patch 20240217)." +"The \\*(``new curses\\*('' library offers the programmer a terminal-" +"independent means of reading keyboard and mouse input and updating character-" +"cell terminals with output optimized to minimize screen updates. I<\\" +"%ncurses> replaces the I<curses> libraries from System V Release 4 Unix " +"(\\*(``SVr4\\*('') and 4.4BSD Unix, the development of which ceased in the " +"1990s. This describes I<\\%ncurses> version 6.4 (patch 20240323)." +msgstr "" + +#. type: Plain text +#: mageia-cauldron +msgid "" +"I<\\%ncurses> permits control of the terminal screen's contents; abstraction " +"and subdivision thereof with I<windows> and I<pads>; the reading of terminal " +"input; control of terminal input and output options; environment query " +"routines; color manipulation; the definition and use of I<soft label> keys; " +"I<\\%term\\%info> capabilities; a I<\\%term\\%cap> compatibility interface; " +"and access to low-level terminal-manipulation routines." +msgstr "" + +#. type: Plain text +#: mageia-cauldron +msgid "" +"If the locale is not initialized, the library assumes that characters are " +"printable as in ISO-8859-1, to work with certain legacy programs. You " +"should initialize the locale and not rely on specific details of the library " +"when the locale has not been set up." +msgstr "" + +#. type: Plain text +#: mageia-cauldron +msgid "" +"Functions permit manipulation of a window and the I<cursor> identifying the " +"cell within it at which the next output operation will occur. Among those, " +"the most basic are B<move>(3X) and B<\\%addch>(3X): these place the cursor " +"and write a character to B<\\%stdscr>, respectively. As a rule, window-" +"addressing functions feature names prefixed (or infixed, see below) with " +"\\*(``w\\*(''; these allow the user to specify a pointer to a I<\\%WINDOW>. " +"Counterparts not thus prefixed (or infixed) affect B<\\%stdscr>. Because " +"moving the cursor prior to another operation is so common, I<curses> " +"generally also provides functions with a \\*(``mv\\*('' prefix as a " +"convenience. Thus, the library defines all of B<\\%addch>, B<\\%waddch>, " +"B<\\%mvaddch>, and B<\\%mvwaddch>. When both prefixes are present, the " +"order of arguments is a I<\\%WINDOW> pointer first, then a I<y> and I<x> " +"coordinate pair." +msgstr "" + +#. type: Plain text +#: mageia-cauldron +msgid "" +"corresponds to the non-wide configuration's I<\\%chtype>. It always a " +"structure type, because it stores more data than fits into an integral " +"type. A character code may not be representable as a I<\\%char>, and " +"moreover more than one character may occupy a cell (as with accent marks and " +"other diacritics). Each character is of type I<\\%wchar_t>; a complex " +"character contains one spacing character and zero or more non-spacing " +"characters (see below). Attributes and color data are stored in separate " +"fields of the structure, not combined as in I<\\%chtype>." +msgstr "" + +#. type: Plain text +#: mageia-cauldron +msgid "" +"The debugging library checks this environment variable when the application " +"has redirected output to a file. The variable's numeric value is used for " +"the baud rate. If no value is found, I<\\%ncurses> uses 9600. This allows " +"testers to construct repeatable test-cases that take into account costs that " +"depend on baud rate." msgstr "" #. type: Plain text #: mageia-cauldron msgid "/usr/share/terminfo (corresponding to the I<\\%TERMINFO_DIRS> variable)" msgstr "" + +#. type: Plain text +#: mageia-cauldron +msgid "" +"I<\\%ncurses> enables an application to capture mouse events on certain " +"terminals, including I<\\%xterm>; see B<\\%curs_mouse>(3X)." +msgstr "" |