blob: 718417f16b8e03f4a708c9b578c728cfcd2cde85 [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301'\" t
2.\"***************************************************************************
Steve Kondikae271bc2015-11-15 02:50:53 +01003.\" Copyright (c) 1998-2013,2015 Free Software Foundation, Inc. *
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304.\" *
5.\" Permission is hereby granted, free of charge, to any person obtaining a *
6.\" copy of this software and associated documentation files (the *
7.\" "Software"), to deal in the Software without restriction, including *
8.\" without limitation the rights to use, copy, modify, merge, publish, *
9.\" distribute, distribute with modifications, sublicense, and/or sell *
10.\" copies of the Software, and to permit persons to whom the Software is *
11.\" furnished to do so, subject to the following conditions: *
12.\" *
13.\" The above copyright notice and this permission notice shall be included *
14.\" in all copies or substantial portions of the Software. *
15.\" *
16.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
17.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
18.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
19.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
20.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
21.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
22.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23.\" *
24.\" Except as contained in this notice, the name(s) of the above copyright *
25.\" holders shall not be used in advertising or otherwise to promote the *
26.\" sale, use or other dealings in this Software without prior written *
27.\" authorization. *
28.\"***************************************************************************
29.\"
Steve Kondikae271bc2015-11-15 02:50:53 +010030.\" $Id: curs_attr.3x,v 1.40 2015/07/20 23:35:38 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053031.TH curs_attr 3X ""
32.na
33.hy 0
34.SH NAME
35\fBattroff\fR,
36\fBwattroff\fR,
37\fBattron\fR,
38\fBwattron\fR,
39\fBattrset\fR,
40\fBwattrset\fR,
41\fBcolor_set\fR,
42\fBwcolor_set\fR,
43\fBstandend\fR,
44\fBwstandend\fR,
45\fBstandout\fR,
46\fBwstandout\fR,
47\fBattr_get\fR,
48\fBwattr_get\fR,
49\fBattr_off\fR,
50\fBwattr_off\fR,
51\fBattr_on\fR,
52\fBwattr_on\fR,
53\fBattr_set\fR,
54\fBwattr_set\fR,
55\fBchgat\fR,
56\fBwchgat\fR,
57\fBmvchgat\fR,
58\fBmvwchgat\fR,
Steve Kondikae271bc2015-11-15 02:50:53 +010059\fBPAIR_NUMBER\fR \- \fBcurses\fR character and window attribute control routines
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053060.ad
61.hy
62.SH SYNOPSIS
63\fB#include <curses.h>\fR
64.br
Steve Kondikae271bc2015-11-15 02:50:53 +010065\fBint attroff(int \fP\fIattrs);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053066.br
Steve Kondikae271bc2015-11-15 02:50:53 +010067\fBint wattroff(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053068.br
Steve Kondikae271bc2015-11-15 02:50:53 +010069\fBint attron(int \fP\fIattrs\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053070.br
Steve Kondikae271bc2015-11-15 02:50:53 +010071\fBint wattron(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053072.br
Steve Kondikae271bc2015-11-15 02:50:53 +010073\fBint attrset(int \fP\fIattrs\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053074.br
Steve Kondikae271bc2015-11-15 02:50:53 +010075\fBint wattrset(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053076.br
Steve Kondikae271bc2015-11-15 02:50:53 +010077\fBint color_set(short \fP\fIcolor_pair_number\fP\fB, void* \fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053078.br
Steve Kondikae271bc2015-11-15 02:50:53 +010079\fBint wcolor_set(WINDOW *\fP\fIwin\fP\fB, short \fP\fIcolor_pair_number\fP\fB,\fR
80 \fBvoid* \fP\fIopts);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053081.br
82\fBint standend(void);\fR
83.br
Steve Kondikae271bc2015-11-15 02:50:53 +010084\fBint wstandend(WINDOW *\fP\fIwin\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053085.br
86\fBint standout(void);\fR
87.br
Steve Kondikae271bc2015-11-15 02:50:53 +010088\fBint wstandout(WINDOW *\fP\fIwin\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053089.br
Steve Kondikae271bc2015-11-15 02:50:53 +010090\fBint attr_get(attr_t *\fP\fIattrs\fP\fB, short *\fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053091.br
Steve Kondikae271bc2015-11-15 02:50:53 +010092\fBint wattr_get(WINDOW *\fP\fIwin\fP\fB, attr_t *\fP\fIattrs\fP\fB, short *\fP\fIpair\fP\fB,\fR
93 \fBvoid *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053094.br
Steve Kondikae271bc2015-11-15 02:50:53 +010095\fBint attr_off(attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053096.br
Steve Kondikae271bc2015-11-15 02:50:53 +010097\fBint wattr_off(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053098.br
Steve Kondikae271bc2015-11-15 02:50:53 +010099\fBint attr_on(attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530100.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100101\fBint wattr_on(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530102.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100103\fBint attr_set(attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530104.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100105\fBint wattr_set(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530106.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100107\fBint chgat(int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB, short \fP\fIcolor\fP\fB,\fR
108 \fBconst void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530109.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100110\fBint wchgat(WINDOW *\fP\fIwin\fP\fB, int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB,\fR
111 \fBshort \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530112.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100113\fBint mvchgat(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB,\fR
114 \fBshort \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530115.br
Steve Kondikae271bc2015-11-15 02:50:53 +0100116\fBint mvwchgat(WINDOW *\fP\fIwin, int \fP\fIy, int \fP\fIx, int \fP\fIn,\fR
117 \fBattr_t \fP\fIattr\fP\fB, short \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530118.br
119.SH DESCRIPTION
Steve Kondikae271bc2015-11-15 02:50:53 +0100120These routines manipulate the current attributes of the named window.
121The
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530122current attributes of a window apply to all characters that are written into
Steve Kondikae271bc2015-11-15 02:50:53 +0100123the window with \fBwaddch\fR, \fBwaddstr\fR and \fBwprintw\fR.
124Attributes are
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530125a property of the character, and move with the character through any scrolling
Steve Kondikae271bc2015-11-15 02:50:53 +0100126and insert/delete line/character operations.
127To the extent possible, they are
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530128displayed as appropriate modifications to the graphic rendition of characters
129put on the screen.
Steve Kondikae271bc2015-11-15 02:50:53 +0100130.SS attrset
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530131.PP
132The routine \fBattrset\fR sets the current attributes of the given window to
Steve Kondikae271bc2015-11-15 02:50:53 +0100133\fIattrs\fR.
134The routine \fBattroff\fR turns off the named attributes without
135turning any other attributes on or off.
136The routine \fBattron\fR turns on the
137named attributes without affecting any others.
138The routine \fBstandout\fR is
139the same as \fBattron(A_STANDOUT)\fR.
140The routine \fBstandend\fR is the same
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530141as \fBattrset(A_NORMAL)\fR or \fBattrset(0)\fR, that is, it turns off all
142attributes.
143.PP
144The \fBattrset\fR and related routines do not affect the attributes used
145when erasing portions of the window.
146See \fBcurs_bkgd\fR(3X) for functions which modify the attributes used for
147erasing and clearing.
Steve Kondikae271bc2015-11-15 02:50:53 +0100148.SS attr_set
149The \fBattrset\fP routine is actually a legacy feature predating SVr4 curses
150but kept in X/Open Curses for the same reason that SVr4 curses kept it:
151compatbility.
152The routine \fBattr_set\fP provides for passing a color-pair parameter.
153.PP
154The remaining \fBattr_\fR* functions operate exactly like the corresponding
155\fBattr\fR* functions, except that they take arguments of type \fBattr_t\fR
156rather than \fBint\fR.
157.SS color_set
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530158.PP
159The routine \fBcolor_set\fR sets the current color of the given window to the
Steve Kondikae271bc2015-11-15 02:50:53 +0100160foreground/background combination described by the color_pair_number.
161The
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530162parameter opts is reserved for future use, applications must supply a null
163pointer.
Steve Kondikae271bc2015-11-15 02:50:53 +0100164.SS attr_get
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530165.PP
166The routine \fBwattr_get\fR returns the current attribute and color pair for
167the given window; \fBattr_get\fR returns the current attribute and color pair
168for \fBstdscr\fR.
Steve Kondikae271bc2015-11-15 02:50:53 +0100169.PP
170There is no corresponding \fBattrget\fP function as such in X/Open Curses,
171although ncurses provides \fBgetattrs\fP (see curs_legacy(3x)).
172.SS chgat
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530173.PP
174The routine \fBchgat\fR changes the attributes of a given number of characters
Steve Kondikae271bc2015-11-15 02:50:53 +0100175starting at the current cursor location of \fBstdscr\fR.
176It does not update
177the cursor and does not perform wrapping.
178A character count of \-1 or greater
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530179than the remaining window width means to change attributes all the way to the
Steve Kondikae271bc2015-11-15 02:50:53 +0100180end of the current line.
181The \fBwchgat\fR function generalizes this to any
182window; the \fBmvwchgat\fR function does a cursor move before acting.
183In these
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530184functions, the color argument is a color-pair index (as in the first argument
Steve Kondikae271bc2015-11-15 02:50:53 +0100185of \fIinit_pair\fR, see \fBcurs_color\fR(3X)).
186The \fBopts\fR argument is not
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530187presently used, but is reserved for the future (leave it \fBNULL\fR).
188.SS Attributes
189The following video attributes, defined in \fB<curses.h>\fR, can be passed to
190the routines \fBattron\fR, \fBattroff\fR, and \fBattrset\fR, or OR'd with the
Steve Kondikae271bc2015-11-15 02:50:53 +0100191characters passed to \fBaddch\fR (see curs_addch(3x)).
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530192.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100193.RS
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530194.TS
Steve Kondikae271bc2015-11-15 02:50:53 +0100195l l
196_ _ _
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530197l l .
Steve Kondikae271bc2015-11-15 02:50:53 +0100198\fIName\fR \fIDescription\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530199\fBA_NORMAL\fR Normal display (no highlight)
200\fBA_STANDOUT\fR Best highlighting mode of the terminal.
201\fBA_UNDERLINE\fR Underlining
202\fBA_REVERSE\fR Reverse video
203\fBA_BLINK\fR Blinking
204\fBA_DIM\fR Half bright
205\fBA_BOLD\fR Extra bright or bold
206\fBA_PROTECT\fR Protected mode
207\fBA_INVIS\fR Invisible or blank mode
208\fBA_ALTCHARSET\fR Alternate character set
Steve Kondikae271bc2015-11-15 02:50:53 +0100209\fBA_ITALIC\fR Italics (non-X/Open extension)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530210\fBA_CHARTEXT\fR Bit-mask to extract a character
211\fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR Color-pair number \fIn\fR
212.TE
Steve Kondikae271bc2015-11-15 02:50:53 +0100213.RE
214.PP
215These video attributes are supported by \fBattr_on\fP and related functions
216(which also support the attributes recognized by \fBattron\fP, etc.):
217.RS
218.TS
219l l
220_ _ _
221l l .
222\fIName\fR \fIDescription\fR
223\fBWA_HORIZONTAL\fR Horizontal highlight
224\fBWA_LEFT\fR Left highlight
225\fBWA_LOW\fR Low highlight
226\fBWA_RIGHT\fR Right highlight
227\fBWA_TOP\fR Top highlight
228\fBWA_VERTICAL\fR Vertical highlight
229.TE
230.RE
231.PP
232For consistency
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530233.PP
234The following macro is the reverse of \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR:
235.PP
236.br
237\fBPAIR_NUMBER(\fR\fIattrs\fR) Returns the pair number associated
238 with the \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR attribute.
239.br
240.PP
241The return values of many of these routines are not meaningful (they are
242implemented as macro-expanded assignments and simply return their argument).
243The SVr4 manual page claims (falsely) that these routines always return \fB1\fR.
244.SH NOTES
245Note that \fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR,
246\fBattrset\fR, \fBwattrset\fR, \fBstandend\fR and \fBstandout\fR may be macros.
247.PP
248\fBCOLOR_PAIR\fP values can only be OR'd with attributes if the pair
249number is less than 256.
250The alternate functions such as \fBcolor_set\fP can pass a color pair
251value directly.
252However, ncurses ABI 4 and 5 simply OR this value within the alternate functions.
253You must use ncurses ABI 6 to support more than 256 color pairs.
254.SH PORTABILITY
Steve Kondikae271bc2015-11-15 02:50:53 +0100255These functions are supported in the XSI Curses standard, Issue 4.
256The
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530257standard defined the dedicated type for highlights, \fBattr_t\fR, which is not
Steve Kondikae271bc2015-11-15 02:50:53 +0100258defined in SVr4 curses.
259The functions taking \fBattr_t\fR arguments are
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530260not supported under SVr4.
261.PP
262The XSI Curses standard states that whether the traditional functions
263\fBattron\fR/\fBattroff\fR/\fBattrset\fR can manipulate attributes other than
264\fBA_BLINK\fR, \fBA_BOLD\fR, \fBA_DIM\fR, \fBA_REVERSE\fR, \fBA_STANDOUT\fR, or
Steve Kondikae271bc2015-11-15 02:50:53 +0100265\fBA_UNDERLINE\fR is "unspecified".
266Under this implementation as well as
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530267SVr4 curses, these functions correctly manipulate all other highlights
268(specifically, \fBA_ALTCHARSET\fR, \fBA_PROTECT\fR, and \fBA_INVIS\fR).
269.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100270This implementation provides the \fBA_ITALIC\fP attribute for terminals
271which have the \fIenter_italics_mode\fP (sitm) and \fIexit_italics_mode\fP (ritm) capabilities.
272Italics are not mentioned in X/Open Curses.
273Unlike the other video attributes, \fBI_ITALIC\fP is unrelated
274to the \fIset_attributes\fP capabilities.
275This implementation makes the assumption that
276\fIexit_attribute_mode\fP may also reset italics.
277.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530278XSI Curses added the new entry points, \fBattr_get\fR, \fBattr_on\fR,
279\fBattr_off\fR, \fBattr_set\fR, \fBwattr_on\fR, \fBwattr_off\fR,
Steve Kondikae271bc2015-11-15 02:50:53 +0100280\fBwattr_get\fR, \fBwattr_set\fR.
281These are intended to work with
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530282a new series of highlight macros prefixed with \fBWA_\fR.
Steve Kondikae271bc2015-11-15 02:50:53 +0100283The older macros have direct counterparts in the newer set of names:
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530284.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100285.RS
286.ne 9
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530287.TS
Steve Kondikae271bc2015-11-15 02:50:53 +0100288l l
289_ _ _
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530290l l .
Steve Kondikae271bc2015-11-15 02:50:53 +0100291\fIName\fR \fIDescription\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530292\fBWA_NORMAL\fR Normal display (no highlight)
293\fBWA_STANDOUT\fR Best highlighting mode of the terminal.
294\fBWA_UNDERLINE\fR Underlining
295\fBWA_REVERSE\fR Reverse video
296\fBWA_BLINK\fR Blinking
297\fBWA_DIM\fR Half bright
298\fBWA_BOLD\fR Extra bright or bold
299\fBWA_ALTCHARSET\fR Alternate character set
300.TE
Steve Kondikae271bc2015-11-15 02:50:53 +0100301.RE
302.PP
303Very old versions of this library did not force an update of the screen
304when changing the attributes.
305Use \fBtouchwin\fR to force the screen to match the updated attributes.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530306.PP
307The XSI curses standard specifies that each pair of corresponding \fBA_\fR
308and \fBWA_\fR-using functions operates on the same current-highlight
309information.
310.PP
311The XSI standard extended conformance level adds new highlights
312\fBA_HORIZONTAL\fR, \fBA_LEFT\fR, \fBA_LOW\fR, \fBA_RIGHT\fR, \fBA_TOP\fR,
Steve Kondikae271bc2015-11-15 02:50:53 +0100313\fBA_VERTICAL\fR (and corresponding \fBWA_\fR macros for each).
314As of August 2013,
315no known terminal provides these highlights
316(i.e., via the \fBsgr1\fP capability).
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530317.SH RETURN VALUE
318All routines return the integer \fBOK\fR on success, or \fBERR\fP on failure.
319.PP
320X/Open does not define any error conditions.
321.PP
322This implementation returns an error
323if the window pointer is null.
324The \fBwcolor_set\fP function returns an error if the color pair parameter
Steve Kondikae271bc2015-11-15 02:50:53 +0100325is outside the range 0..COLOR_PAIRS\-1.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530326This implementation also provides
327\fBgetattrs\fR
328for compatibility with older versions of curses.
Steve Kondikae271bc2015-11-15 02:50:53 +0100329.PP
330Functions with a "mv" prefix first perform a cursor movement using
331\fBwmove\fP, and return an error if the position is outside the window,
332or if the window pointer is null.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530333.SH SEE ALSO
Steve Kondikae271bc2015-11-15 02:50:53 +0100334.na
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530335\fBcurses\fR(3X),
336\fBcurs_addch\fR(3X),
337\fBcurs_addstr\fR(3X),
338\fBcurs_bkgd\fR(3X),
Steve Kondikae271bc2015-11-15 02:50:53 +0100339\fBcurs_printw\fR(3X),
340\fBcurs_variables\fR(3X)