SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

BotDetect - Real-Time Bot Detection API
 
 

MAN page from Old RedHat 5.X ncurses-4.2-6.i386.rpm

TERMINFO

Section: File Formats (5)
Updated:
Index 

NAME

terminfo - terminal capability data base 

SYNOPSIS

/usr/share/terminfo/*/* 

DESCRIPTION

Terminfois a data base describing terminals, used by screen-oriented programs such asnvi(1),rogue(1)and libraries such ascurses(3X).Terminfodescribes terminals by giving a set of capabilities which theyhave, by specifying how to perform screen operations, and byspecifying padding requirements and initialization sequences.

Entries interminfoconsist of a sequence of `,' separated fields (embedded commas may beescaped with a backslash or notated as \072).White space after the `,' separator is ignored.The first entry for each terminal gives the names which are known for theterminal, separated by `|' characters.The first name given is the most common abbreviation for the terminal,the last name given should be a long name fully identifying the terminal,and all others are understood as synonyms for the terminal name.All names but the last should be in lower case and contain no blanks;the last name may well contain upper case and blanks for readability.

Terminal names (except for the last, verbose entry) shouldbe chosen using the following conventions.The particular piece of hardware making up the terminal shouldhave a root name, thus ``hp2621''.This name should not contain hyphens.Modes that the hardware can be in, or user preferences, shouldbe indicated by appending a hyphen and a mode suffix.Thus, a vt100 in 132 column mode would be vt100-w.The following suffixes should be used where possible:

SuffixMeaningExample
-nnNumber of lines on the screenaaa-60
-npNumber of pages of memoryc100-4p
-amWith automargins (usually the default)vt100-am
-mMono mode; suppress color ansi-m
-mcMagic cookie; spaces when highlightingwy30-mc
-naNo arrow keys (leave them in local)c100-na
-namWithout automatic margins vt100-nam
-nlNo status line att4415-nl
-nsNo status line hp2626-ns
-rvReverse video c100-rv
-sEnable status line vt100-s
-vbUse visible bell instead of beepwy370-vb
-wWide mode (> 80 columns, usually 132)vt100-w

For more on terminal naming conventions, see the term(7) manual page. 

Capabilities

The following is a complete table of the capabilities included in aterminfo description block and available to terminfo-using code. In eachline of the table,

The variable is the name by which the programmer (at the terminfo level)accesses the capability.

The capname is the short name used in the text of the database,and is used by a person updating the database.Whenever possible, capnames are chosen to be the same as or similar tothe ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses identical or very similar names). Semantics are also intended to matchthose of the specification.

The termcap code is the oldtermcapcapability name (some capabilities are new, and have names which termcapdid not originate).Capability names have no hard length limit, but an informal limit of 5characters has been adopted to keep them short and to allow the tabs inthe source fileCapsto line up nicely.

Finally, the description field attempts to convey the semantics of thecapability. You may find some codes in the description field:

(P)
indicates that padding may be specified
#[1-9]
in the description field indicates that the string is passed through tparm withparms as given (#i).
(P*)
indicates that padding may vary in proportion to the number oflines affected
(#i)
indicates the ith parameter.


 These are the boolean capabilities:

VariableCap-TCapDescription
BooleansnameCode
auto_left_marginbwbwcub1 wraps from column 0 to last column
auto_right_marginamamterminal has automatic margins
no_esc_ctlc xsbxbbeehive (f1=escape, f2=ctrl C)
ceol_standout_glitchxhpxsstandout not erased by overwriting (hp)
eat_newline_glitchxenlxnnewline ignored after 80 cols (concept)
erase_overstrikeeoeocan erase overstrikes with a blank
generic_type gngngeneric line type
hard_copy hchchardcopy terminal
has_meta_key kmkmHas a meta key, sets msb high
has_status_line hshshas extra status line
insert_null_glitchinininsert mode distinguishes nulls
memory_above dadadisplay may be retained above the screen
memory_below dbdbdisplay may be retained below the screen
move_insert_modemirmisafe to move while in insert mode
move_standout_modemsgrmssafe to move while in standout mode
over_strike ososterminal can overstrike
status_line_esc_okeslokesescape can be used on the status line
dest_tabs_magic_smsoxtxttabs destructive, magic so char (t1061)
tilde_glitch hzhzcan't print ~'s (hazeltine)
transparent_underlineululunderline character overstrikes
xon_xoff xonxoterminal uses xon/xoff handshaking
needs_xon_xoff nxonnxpadding won't work, xon/xoff required
prtr_silent mc5i5iprinter won't echo on screen
hard_cursor chtsHCcursor is hard to see
non_rev_rmcup nrrmcNRsmcup does not reverse rmcup
no_pad_char npcNPpad character does not exist
non_dest_scroll_regionndscrNDscrolling region is non-destructive
can_change cccccterminal can re-define existing colors
back_color_erasebceutscreen erased with background color
hue_lightness_saturationhlshlterminal uses only HLS color notation (tektronix)
col_addr_glitch xhpaYAonly positive motion for hpa/mhpa caps
cr_cancels_micro_modecrxmYBusing cr turns off micro mode
has_print_wheel daisyYCprinter needs operator to change character set
row_addr_glitch xvpaYDonly positive motion for vpa/mvpa caps
semi_auto_right_marginsamYEprinting in last column causes cr
cpi_changes_res cpixYFchanging character pitch changes resolution
lpi_changes_res lpixYGchanging line pitch changes resolution

These are the numeric capabilities:

VariableCap-TCapDescription
NumericnameCode
columns colsconumber of columns in aline
init_tabs itittabs initially every # spaces
lines lineslinumber of lines on screen or page
lines_of_memory lmlmlines of memory if > line. 0 => varies
magic_cookie_glitchxmcsgnumber of blank chars left by smso or rmso
padding_baud_ratepbpblowest baud rate where padding needed
virtual_terminalvtvtvirtual terminal number (CB/unix)
width_status_linewslwscolumns in status line
num_labels nlabNlnumber of labels on screen
label_height lhlhrows in each label
label_width lwlwcolumns in each label
max_attributes mamamaximum combined attributes terminal can handle
maximum_windows wnumMWmaxumum number of defineable windows
max_colors colorsComaximum numbers of colors on screen
max_pairs pairspamaximum number of color-pairs on the screen
no_color_video ncvNCvideo attributes that can't be used with colors

The following numeric capabilities are present in the SVr4.0 term structure,but are not yet documented in the man page. They came in with SVr4'sprinter support.

VariableCap-TCapDescription
NumericnameCode
buffer_capacity bufszYanumbers of bytes buffered before printing
dot_vert_spacingspinvYbspacing of pins vertically in pins per inch
dot_horz_spacingspinhYcspacing of dots horizontally in dots per inch
max_micro_addressmaddrYdmaximum value in micro_..._address
max_micro_jump mjumpYemaximum value in parm_..._micro
micro_char_size mcsYfcharacter size when in micro mode
micro_line_size mlsYgline size when in micro mode
number_of_pins npinsYhnumbers of pins in print-head
output_res_char orcYihorizontal resolution in units per line
output_res_line orlYjvertical resolution in units per line
output_res_horz_inchorhiYkhorizontal resolution in units per inch
output_res_vert_inchorviYlvertical resolution in units per inch
print_rate cpsYmprint rate in chars per second
wide_char_size widcsYncharacter step size when in double wide mode
buttons btnsBTnumber of buttons on mouse
bit_image_entwiningbitwinYonumber of passed for each bit-image row
bit_image_type bitypeYptype of bit-image device

These are the string capabilities:

VariableCap-TCapDescription
StringnameCode
back_tab cbtbtback tab (P)
bell belblaudible signal (bell) (P)
carriage_return crcrcarriage return (P*) (P*)
change_scroll_regioncsrcschange region to line #1 to line #2 (P) (P)
clear_all_tabs tbcctclear all tab stops (P)
clear_screen clearclclear screen and home cursor (P*)
clr_eol elceclear to end of line (P)
clr_eos edcdclear to end of screen (P*)
column_address hpachhorizontal position #1, absolute (P)
command_charactercmdchCCterminal settable cmd character in prototype !?
cursor_address cupcmmove to row #1 columns #2
cursor_down cud1dodown one line
cursor_home homehohome cursor (if no cup)
cursor_invisiblecivisvimake cursor invisible
cursor_left cub1lemove left one space
cursor_mem_addressmrcupCMmemory relative cursor addressing
cursor_normal cnormvemake cursor appear normal (undo civis/cvvis)
cursor_right cuf1ndmove right one space
cursor_to_ll lllllast line, first column (if no cup)
cursor_up cuu1upup one line
cursor_visible cvvisvsmake cursor very visible
delete_characterdch1dcdelete character (P*)
delete_line dl1dldelete line (P*)
dis_status_line dsldsdisable status line
down_half_line hdhdhalf a line down
enter_alt_charset_modesmacsasstart alternate character set (P)
enter_blink_modeblinkmbturn on blinking
enter_bold_mode boldmdturn on bold (extra bright) mode
enter_ca_mode smcuptistring to start programs using cup
enter_delete_modesmdcdmenter delete mode
enter_dim_mode dimmhturn on half-bright mode
enter_insert_modesmirimenter insert mode
enter_secure_modeinvismkturn on blank mode (characters invisible)
enter_protected_modeprotmpturn on protected mode
enter_reverse_moderevmrturn on reverse video mode
enter_standout_modesmsosobegin standout mode
enter_underline_modesmulusbegin underline mode
erase_chars echecerase #1 characters (P)
exit_alt_charset_modermacsaeend alternate character set (P)
exit_attribute_modesgr0meturn off all attributes
exit_ca_mode rmcuptestrings to end programs using cup
exit_delete_modermdcedend delete mode
exit_insert_modermireiexit insert mode
exit_standout_modermsoseexit standout mode
exit_underline_modermulueexit underline mode
flash_screen flashvbvisible bell (may not move cursor)
form_feed ffffhardcopy terminal page eject (P*)
from_status_linefslfsreturn from status line
init_1string is1i1initialization string
init_2string is2isinitialization string
init_3string is3i3initialization string
init_file ififname of initialization file
insert_characterich1icinsert character (P)
insert_line il1alinsert line (P*)
insert_padding ipipinsert padding after inserted character
key_backspace kbskbbackspace key
key_catab ktbckaclear-all-tabs key
key_clear kclrkCclear-screen or erase key
key_ctab kctabktclear-tab key
key_dc kdch1kDdelete-character key
key_dl kdl1kLdelete-line key
key_down kcud1kddown-arrow key
key_eic krmirkMsent by rmir or smir in insert mode
key_eol kelkEclear-to-end-of-line key
key_eos kedkSclear-to-end-of-screen key
key_f0 kf0k0F0 function key
key_f1 kf1k1F1 function key
key_f10 kf10k;F10 function key
key_f2 kf2k2F2 function key
key_f3 kf3k3F3 function key
key_f4 kf4k4F4 function key
key_f5 kf5k5F5 function key
key_f6 kf6k6F6 function key
key_f7 kf7k7F7 function key
key_f8 kf8k8F8 fucntion key
key_f9 kf9k9F9 function key
key_home khomekhhome key
key_ic kich1kIinsert-character key
key_il kil1kAinsert-line key
key_left kcub1klleft-arrow key
key_ll kllkHlast-line key
key_npage knpkNnext-page key
key_ppage kppkPprev-page key
key_right kcuf1krright-arrow key
key_sf kindkFscroll-forward key
key_sr krikRscroll-backward key
key_stab khtskTset-tab key
key_up kcuu1kuup-arrow key
keypad_local rmkxkeleave 'keyboard_transmit' mode
keypad_xmit smkxksenter 'keyboard_transmit' mode
lab_f0 lf0l0label on function key f0 if not f0
lab_f1 lf1l1label on function key f1 if not f1
lab_f10 lf10lalabel on function key f10 if not f10
lab_f2 lf2l2label on function key f2 if not f2
lab_f3 lf3l3label on function key f3 if not f3
lab_f4 lf4l4label on function key f4 if not f4
lab_f5 lf5l5lable on function key f5 if not f5
lab_f6 lf6l6label on function key f6 if not f6
lab_f7 lf7l7label on function key f7 if not f7
lab_f8 lf8l8label on function key f8 if not f8
lab_f9 lf9l9label on function key f9 if not f9
meta_off rmmmoturn off meta mode
meta_on smmmmturn on meta mode (8th-bit on)
newline nelnwnewline (behave like cr followed by lf)
pad_char padpcpadding char (instead of null)
parm_dch dchDCdelete #1 chars (P*)
parm_delete_linedlDLdelete #1 lines (P*)
parm_down_cursorcudDOdown #1 lines (P*)
parm_ich ichICinsert #1 chars (P*)
parm_index indnSFscroll forward #1 lines (P)
parm_insert_lineilALinsert #1 lines (P*)
parm_left_cursorcubLEmove #1 chars to the left (P)
parm_right_cursorcufRImove #1 chars to the right (P*)
parm_rindex rinSRscroll back #1 lines (P)
parm_up_cursor cuuUPup #1 lines (P*)
pkey_key pfkeypkprogram function key #1 to type string #2
pkey_local pflocplprogram function key #1 to execute string #2
pkey_xmit pfxpxprogram function key #1 to transmit string #2
print_screen mc0psprint contents of screen
prtr_off mc4pfturn off printer
prtr_on mc5poturn on printer
repeat_char reprprepeat char #1 #2 times (P*)
reset_1string rs1r1reset string
reset_2string rs2r2reset string
reset_3string rs3r3reset string
reset_file rfrfname of reset file
restore_cursor rcrcrestore cursor to last position of sc
row_address vpacvvertical position #1 absolute (P)
save_cursor scscsave current cursor position (P)
scroll_forward indsfscroll text up (P)
scroll_reverse risrscroll text down (P)
set_attributes sgrsadefine video attributes #1-#9 (PG9)
set_tab htsstset a tab in every row, current columns
set_window windwicurrent window is lines #1-#2 cols #3-#4
tab httatab to next 8-space hardware tab stop
to_status_line tsltsmove to status line
underline_char ucucunderline char and move past it
up_half_line huhuhalf a line up
init_prog iprogiPpath name of program for initialization
key_a1 ka1K1upper left of keypad
key_a3 ka3K3upper right of keypad
key_b2 kb2K2center of keypad
key_c1 kc1K4lower left of keypad
key_c3 kc3K5lower right of keypad
prtr_non mc5ppOturn on printer for #1 bytes
char_padding rmprPlike ip but when in insert mode
acs_chars acscacgraphics charset pairs - def=vt100
plab_norm plnpnprogram label #1 to show string #2
key_btab kcbtkBback-tab key
enter_xon_mode smxonSXturn on xon/xoff handshaking
exit_xon_mode rmxonRXturn off xon/xoff handshaking
enter_am_mode smamSAturn on automatic margins
exit_am_mode rmamRAturn off automatic margins
xon_character xoncXNXON character
xoff_character xoffcXFXOFF character
ena_acs enacseAenable alternate char set
label_on smlnLOturn on soft labels
label_off rmlnLFturn off soft labels
key_beg kbeg@1begin key
key_cancel kcan@2cancel key
key_close kclo@3close key
key_command kcmd@4command key
key_copy kcpy@5copy key
key_create kcrt@6create key
key_end kend@7end key
key_enter kent@8enter/send key
key_exit kext@9exit key
key_find kfnd@0find key
key_help khlp%1help key
key_mark kmrk%2mark key
key_message kmsg%3message key
key_move kmov%4move key
key_next knxt%5next key
key_open kopn%6open key
key_options kopt%7options key
key_previous kprv%8previous key
key_print kprt%9print key
key_redo krdo%0redo key
key_reference kref&1reference key
key_refresh krfr&2refresh key
key_replace krpl&3replace key
key_restart krst&4restart key
key_resume kres&5resume key
key_save ksav&6save key
key_suspend kspd&7suspend key
key_undo kund&8undo key
key_sbeg kBEG&9shifted key
key_scancel kCAN&0shifted key
key_scommand kCMD*1shifted key
key_scopy kCPY*2shifted key
key_screate kCRT*3shifted key
key_sdc kDC*4shifted key
key_sdl kDL*5shifted key
key_select kslt*6select key
key_send kEND*7shifted key
key_seol kEOL*8shifted key
key_sexit kEXT*9shifted key
key_sfind kFND*0shifted key
key_shelp kHLP#1shifted key
key_shome kHOM#2shifted key
key_sic kIC#3shifted key
key_sleft kLFT#4shifted key
key_smessage kMSG%ashifted key
key_smove kMOV%bshifted key
key_snext kNXT%cshifted key
key_soptions kOPT%dshifted key
key_sprevious kPRV%eshifted key
key_sprint kPRT%fshifted key
key_sredo kRDO%gshifted key
key_sreplace kRPL%hshifted key
key_sright kRIT%ishifted key
key_srsume kRES%jshifted key
key_ssave kSAV!1shifted key
key_ssuspend kSPD!2shifted key
key_sundo kUND!3shifted key
req_for_input rfiRFsend next input char (for ptys)
key_f11 kf11F1F11 function key
key_f12 kf12F2F12 function key
key_f13 kf13F3F13 function key
key_f14 kf14F4F14 function key
key_f15 kf15F5F15 function key
key_f16 kf16F6F16 function key
key_f17 kf17F7F17 function key
key_f18 kf18F8F18 function key
key_f19 kf19F9F19 function key
key_f20 kf20FAF20 function key
key_f21 kf21FBF21 function key
key_f22 kf22FCF22 function key
key_f23 kf23FDF23 function key
key_f24 kf24FEF24 function key
key_f25 kf25FFF25 function key
key_f26 kf26FGF26 function key
key_f27 kf27FHF27 function key
key_f28 kf28FIF28 function key
key_f29 kf29FJF29 function key
key_f30 kf30FKF30 function key
key_f31 kf31FLF31 function key
key_f32 kf32FMF32 function key
key_f33 kf33FNF33 function key
key_f34 kf34FOF34 function key
key_f35 kf35FPF35 function key
key_f36 kf36FQF36 function key
key_f37 kf37FRF37 function key
key_f38 kf38FSF38 function key
key_f39 kf39FTF39 function key
key_f40 kf40FUF40 function key
key_f41 kf41FVF41 function key
key_f42 kf42FWF42 function key
key_f43 kf43FXF43 function key
key_f44 kf44FYF44 function key
key_f45 kf45FZF45 function key
key_f46 kf46FaF46 function key
key_f47 kf47FbF47 function key
key_f48 kf48FcF48 function key
key_f49 kf49FdF49 function key
key_f50 kf50FeF50 function key
key_f51 kf51FfF51 function key
key_f52 kf52FgF52 function key
key_f53 kf53FhF53 function key
key_f54 kf54FiF54 function key
key_f55 kf55FjF55 function key
key_f56 kf56FkF56 function key
key_f57 kf57FlF57 function key
key_f58 kf58FmF58 function key
key_f59 kf59FnF59 function key
key_f60 kf60FoF60 function key
key_f61 kf61FpF61 function key
key_f62 kf62FqF62 function key
key_f63 kf63FrF63 function key
clr_bol el1cbClear to beginning of line
clear_margins mgcMCclear right and left soft margins
set_left_margin smglMLset left soft margin
set_right_marginsmgrMRset right soft margin
label_format flnLflabel format
set_clock sclkSCset clock, #1 hrs #2 mins #3 secs
display_clock dclkDKdisplay clock at (#1,#2)
remove_clock rmclkRCremove clock
create_window cwinCWdefine a window #1 from #2, #3 to #4, #5
goto_window wingoWGgo to window #1
hangup hupHUhang-up phone
dial_phone dialDIdial number #1
quick_dial qdialQDdial number #1 without checking
tone toneTOselect touch tone dialing
pulse pulsePUselect pulse dialling
flash_hook hookfhflash switch hook
fixed_pause pausePApause for 2-3 seconds
wait_tone waitWAwait for dial-tone
user0 u0u0User string #0
user1 u1u1User string #1
user2 u2u2User string #2
user3 u3u3User string #3
user4 u4u4User string #4
user5 u5u5User string #5
user6 u6u6User string #6
user7 u7u7User string #7
user8 u8u8User string #8
user9 u9u9User string #9
orig_pair opopSet default pair to its original value
orig_colors ococSet all color pairs to the original ones
initialize_colorinitcIcinitialize color #1 to (#2,#3,#4)
initialize_pair initpIpInitialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
set_color_pair scpspSet current color pair to #1
set_foreground setfSfSet foreground color #1
set_background setbSbSet background color #1
change_char_pitchcpiZAChange number of characters per inch
change_line_pitchlpiZBChange number of lines per inch
change_res_horz chrZCChange horizontal resolution
change_res_vert cvrZDChange vertical resolution
define_char defcZEDefine a character
enter_doublewide_modeswidmZFEnter double-wide mode
enter_draft_qualitysdrfqZGEnter draft-quality mode
enter_italics_modesitmZHEnter italic mode
enter_leftward_modeslmZIStart leftward carriage motion
enter_micro_modesmicmZJStart micro-motion mode
enter_near_letter_qualitysnlqZKEnter NLQ mode
enter_normal_qualitysnrmqZLWnter normal-quality mode
enter_shadow_modesshmZMEnter shadow-print mode
enter_subscript_modessubmZNEnter subscript mode
enter_superscript_modessupmZOEnter superscript mode
enter_upward_modesumZPStart upward carriage motion
exit_doublewide_moderwidmZQEnd double-wide mode
exit_italics_moderitmZREnd italic mode
exit_leftward_moderlmZSEnd left-motion mode
exit_micro_mode rmicmZTEnd micro-motion mode
exit_shadow_modershmZUEnd shadow-print mode
exit_subscript_modersubmZVEnd subscript mode
exit_superscript_modersupmZWEnd superscript mode
exit_upward_moderumZXEnd reverse character motion
micro_column_addressmhpaZYLike column_address in micro mode
micro_down mcud1ZZLike cursor_down in micro mode
micro_left mcub1ZaLike cursor_left in micro mode
micro_right mcuf1ZbLike cursor_right in micro mode
micro_row_addressmvpaZcLike row_address in micro mode
micro_up mcuu1ZdLike cursor_up in micro mode
order_of_pins porderZeMatch software bits to print-head pins
parm_down_micro mcudZfLike parm_down_cursor in micro mode
parm_left_micro mcubZgLike parm_left_cursor in micro mode
parm_right_micromcufZhLike parm_right_cursor in micro mode
parm_up_micro mcuuZiLike parm_up_cursor in micro mode
select_char_set scsZjSelect character set
set_bottom_marginsmgbZkSet bottom margin at current line
set_bottom_margin_parmsmgbpZlSet bottom margin at line #1 or #2 lines from bottom
set_left_margin_parmsmglpZmSet left (right) margin at column #1 (#2)
set_right_margin_parmsmgrpZnSet right margin at column #1
set_top_margin smgtZoSet top margin at current line
set_top_margin_parmsmgtpZpSet top (bottom) margin at row #1 (#2)
start_bit_image sbimZqStart printing bit image braphics
start_char_set_defscsdZrStart character set definition
stop_bit_image rbimZsStop printing bit image graphics
stop_char_set_defrcsdZtEnd definition of character aet
subscript_characterssubcsZuList of subscriptable characters
superscript_characterssupcsZvList of superscriptable characters
these_cause_cr docrZwPrinting any of these chars causes CR
zero_motion zeromZxNo motion for subsequent character

The following string capabilities are present in the SVr4.0 term structure,but are not documented in the man page.

VariableCap-TCapDescription
StringnameCode
char_set_names csnmZyList of character set names
key_mouse kmousKmMouse event has occurred
mouse_info minfoMiMouse status information
req_mouse_pos reqmpRQRequest mouse position
get_mouse getmGmCurses should get button events
set_a_foregroundsetafAFSet ANSI foreground color
set_a_backgroundsetabABSet ANSI background color
pkey_plab pfxlxlProgram function key #1 to type string #2 and show string #3
device_type devtdvIndicate language/codeset support
code_set_init csinciInit sequence for multiple codesets
set0_des_seq s0dss0Shift to code set 0 (EUC set 0, ASCII)
set1_des_seq s1dss1Shift to code set 1
set2_des_seq s2dss2Shift to code set 2
set3_des_seq s3dss3Shift to code set 3
set_lr_margin smglrMLSet both left and right margins to #1, #2
set_tb_margin smgtbMTSets both top and bottom margins to #1, #2
bit_image_repeatbirepXyRepeat bit image cell #1 #2 times
bit_image_newlinebinelZzMove to next row of the bit image
bit_image_carriage_returnbicrYvMove to beginning of same row
color_names colornmYwGive name for color #1
define_bit_image_regiondefbiYxDefine rectangualar bit image region
end_bit_image_regionendbiYyEnd a bit-image region
set_color_band setcolorYzChange to ribbon color #1
set_page_length slinesYZSet page length to #1 lines
display_pc_char dispcS1Display PC character
enter_pc_charset_modesmpchS2Enter PC character display mode
exit_pc_charset_modermpchS3Exit PC character display mode
enter_scancode_modesmscS4Enter PC scancode mode
exit_scancode_modermscS5Exit PC scancode mode
pc_term_options pctrmS6PC terminal options
scancode_escape scescS7Escape for scancode emulation
alt_scancode_escscesaS8Alternate escape for scancode emulation

The XSI Curses standard added these. They are probably in some post-4.1 version of System V curses as well, but because XSI Curses lists them instrict alphabetical order we don't know if this is the right binary order.The ncurses termcap names for them are invented; according to theXSI Curses standard, they have no termcap names. If your compiled terminfoentries use these, they may not be binary-compatible with System V terminfoentries after SVr4.1; beware!

VariableCap-TCapDescription
StringnameCode
enter_horizontal_hl_modeehhlmXhEnter horizontal highlight mode
enter_left_hl_modeelhlmXlEnter left highlight mode
enter_low_hl_modeelohlmXoEnter low highlight mode
enter_right_hl_modeerhlmXrEnter right highlight mode
enter_top_hl_modeethlmXtEnter top highlight mode
enter_vertical_hl_modeevhlmXvEnter vertical highlight mode

 

A Sample Entry

The following entry, describing an ANSI-standard terminal, is representativeof what a terminfo entry for a modern terminal typically looks like.

ansi|ansi/pc-term compatible with color,         mc5i,         colors#8, ncv#3, pairs#64,         cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,         cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,         ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%p1%dG, ht=\E[I,         ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS,         kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,         kcuf1=\E[C, kcuu1=\E[A, kf1=\E[M, kf10=\E[V,         kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P,         kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,         kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,         op=\E[37;40m, rep=%p1%c\E[%p2%{1}%-%db,         rin=\E[%p1%dT, s0ds=\E(B, s1ds=\E)B, s2ds=\E*B,         s3ds=\E+B, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,         setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,         setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,         sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m,         sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,         u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%p1%dd,

Entries may continue onto multiple lines by placing white space atthe beginning of each line except the first.Comments may be included on lines beginning with ``#''.Capabilities interminfoare of three types:Boolean capabilities which indicate that the terminal hassome particular feature, numeric capabilities giving the size of the terminalor the size of particular delays, and stringcapabilities, which give a sequence which can be used to perform particularterminal operations.

 

Types of Capabilities

All capabilities have names. For instance, the fact thatANSI-standard terminals haveautomatic margins(i.e., an automatic return and line-feedwhen the end of a line is reached) is indicated by the capability am.Hence the description of ansi includes am.Numeric capabilities are followed by the character `#' and then the value.Thus cols, which indicates the number of columns the terminal has,gives the value `80' for ansi.

Finally, string valued capabilities, such as el (clear to end of linesequence) are given by the two-character code, an `=', and then a stringending at the next following `,'.

A number of escape sequences are provided in the string valued capabilitiesfor easy encoding of characters there. Both \E and \emap to an ESCAPE character,^x maps to a control-x for any appropriate x, and the sequences\n \l \r \t \b \f \s givea newline, line-feed, return, tab, backspace, form-feed, and space.Other escapes include \^ for ^,\\ for \,\, for comma,\: for :,and \0 for null.(\0 will produce \200, which does not terminate a string but behavesas a null character on most terminals.)Finally, characters may be given as three octal digits after a \.

A delay in milliseconds may appear anywhere in a string capability, enclosed in$<..> brackets, as in el=\EK$<5>, and padding characters are supplied bytputsto provide this delay. The delay must be a number with at most one decimalplace of precision; it may be followed by suffixes `*' or '/' or both. A `*'indicates that the padding required is proportional to the number of linesaffected by the operation, and the amount given is the per-affected-unitpadding required. (In the case of insert character, the factor is still thenumber oflinesaffected.) Normally, padding is advisory if the device has the xoncapability; it is used for cost computation but does not trigger delays. A `/'suffix indicates that the padding is mandatory and forces a delay of the givennumber of milliseconds even on devices for which xon is present toindicate flow control.

Sometimes individual capabilities must be commented out.To do this, put a period before the capability name.For example, see the secondindin the example above.

 

Fetching Compiled Descriptions

If the environment variable TERMINFO is set, it is interpreted as the pathnameof a directory containing the compiled description you are working on. Onlythat directory is searched.

If TERMINFO is not set, the ncurses version of the terminfo reader codewill instead look in the directory $HOME/.terminfofor a compiled description.If it fails to find one there, and the environment variable TERMINFO_DIRS isset, it will interpret the contents of that variable as a list of colon-separated directories to be searched (an empty entry is interpreted as acommand to search /usr/share/terminfo). If no description is found in any of theTERMINFO_DIRS directories, the fetch fails.

If neither TERMINFO nor TERMINFO_DIRS is set, the last place tried will be thesystem terminfo directory, /usr/share/terminfo.

(Neither the $HOME/.terminfo lookups nor TERMINFO_DIRS extensions aresupported under stock System V terminfo/curses.)

 

Preparing Descriptions

We now outline how to prepare descriptions of terminals.The most effective way to prepare a terminal description is by imitatingthe description of a similar terminal interminfoand to build up a description gradually, using partial descriptionswithvior some other screen-oriented program to check that they are correct.Be aware that a very unusual terminal may expose deficiencies inthe ability of theterminfofile to describe itor bugs in the screen-handling code of the test program.

To get the padding for insert line right (if the terminal manufacturerdid not document it) a severe test is to edit /etc/passwd at 9600 baud,delete 16 or so lines from the middle of the screen, then hit the `u'key several times quickly.If the terminal messes up, more padding is usually needed.A similar test can be used for insert character.

 

Basic Capabilities

The number of columns on each line for the terminal is given by thecols numeric capability. If the terminal is a CRT, then thenumber of lines on the screen is given by the lines capability.If the terminal wraps around to the beginning of the next line whenit reaches the right margin, then it should have the am capability.If the terminal can clear its screen, leaving the cursor in the homeposition, then this is given by the clear string capability.If the terminal overstrikes(rather than clearing a position when a character is struck over)then it should have the os capability.If the terminal is a printing terminal, with no soft copy unit,give it bothhcandos.(osapplies to storage scope terminals,

 
ICM Bot detect detector