xref: /freebsd/contrib/ncurses/man/curs_termattrs.3x (revision e9ac41698b2f322d55ccf9da50a3596edb2c1800)
***************************************************************************
Copyright 2018-2023,2024 Thomas E. Dickey *
Copyright 1998-2010,2015 Free Software Foundation, Inc. *
*
Permission is hereby granted, free of charge, to any person obtaining a *
copy of this software and associated documentation files (the *
"Software"), to deal in the Software without restriction, including *
without limitation the rights to use, copy, modify, merge, publish, *
distribute, distribute with modifications, sublicense, and/or sell *
copies of the Software, and to permit persons to whom the Software is *
furnished to do so, subject to the following conditions: *
*
The above copyright notice and this permission notice shall be included *
in all copies or substantial portions of the Software. *
*
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
*
Except as contained in this notice, the name(s) of the above copyright *
holders shall not be used in advertising or otherwise to promote the *
sale, use or other dealings in this Software without prior written *
authorization. *
***************************************************************************

$Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp $
curs_termattrs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
NAME
\%baudrate, \%erasechar, \%erasewchar, \%has_ic, \%has_il, \%killchar, \%killwchar, \%longname, \%term_attrs, \%termattrs, \%termname - curses environment query routines
SYNOPSIS
#include <curses.h>

int baudrate(void); char erasechar(void); int erasewchar(wchar_t *wc); bool has_ic(void); bool has_il(void); char killchar(void); int killwchar(wchar_t *wc); char *longname(void); attr_t term_attrs(void); chtype termattrs(void); char *termname(void);

DESCRIPTION
baudrate
The baudrate routine returns the output speed of the terminal. The number returned is in bits per second, for example 9600, and is an integer.
"erasechar, erasewchar"
The erasechar routine returns the user's current erase character.

The erasewchar routine stores the current erase character in the location referenced by wc. If no erase character has been defined, the routine fails and the location referenced by wc is not changed.

"has_ic, has_il"
The has_ic routine is true if the terminal has insert- and delete- character capabilities.

The has_il routine is true if the terminal has insert- and delete-line capabilities, or can simulate them using scrolling regions. This might be used to determine if it would be appropriate to turn on physical scrolling using scrollok(3X).

"killchar, killwchar"
The killchar routine returns the user's current line kill character.

The killwchar routine stores the current line-kill character in the location referenced by wc. If no line-kill character has been defined, the routine fails and the location referenced by wc is not changed.

longname
The longname routine returns a pointer to a static area containing a verbose description of the current terminal. The maximum length of a verbose description is 128 characters. It is defined only after the call to initscr or newterm. The area is overwritten by each call to newterm and is not restored by set_term, so the value should be saved between calls to newterm if longname is going to be used with multiple terminals.
"termattrs, term_attrs"
If a given terminal does not support a video attribute that an application program is trying to use, curses may substitute a different video attribute for it. The termattrs and term_attrs functions return a logical OR of all video attributes supported by the terminal using A_ and WA_ constants respectively. This information is useful when a curses program needs complete control over the appearance of the screen.
termname
The termname routine returns the terminal name used by setupterm.
RETURN VALUE
longname and termname return NULL on error.

Routines that return an integer return ERR upon failure and OK (SVr4 only specifies "an integer value other than ERR") upon successful completion.

NOTES
Note that termattrs may be a macro.
PORTABILITY
X/Open Curses, Issue 4 describes these functions. It changes the return type of termattrs to the new type attr_t. Most versions of curses truncate the result returned by termname to 14 characters.
SEE ALSO
\%curses(3X), \%curs_initscr(3X), \%curs_outopts(3X)