MAN page from Fedora 8 ncurses-5.6-12.20070812.fc8.x86_64.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 as
nvi(1),
rogue(1)and libraries such as
curses(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.This describes
ncursesversion 5.6 (patch 20070812).
Entries interminfoconsist of a sequence of `,' separated fields (embedded commas may beescaped with a backslash or notated as \054).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.
Lines beginning with a `#' in the first column are treated as comments.While comment lines are legal at any point, the output of captoinfoand infotocap (aliases for tic)will move comments so they occur only between entries.
Newlines and leading tabs may be used for formatting entries for readability.These are removed from parsed entries.The infocmp -f option relies on this to format if-then-else expressions:the result can be read by tic.
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:
Suffix | Meaning | Example
|
-nn | Number of lines on the screen | aaa-60
|
-np | Number of pages of memory | c100-4p
|
-am | With automargins (usually the default) | vt100-am
|
-m | Mono mode; suppress color | ansi-m
|
-mc | Magic cookie; spaces when highlighting | wy30-mc
|
-na | No arrow keys (leave them in local) | c100-na
|
-nam | Without automatic margins | vt100-nam
|
-nl | No status line | att4415-nl
|
-ns | No status line | hp2626-ns
|
-rv | Reverse video | c100-rv
|
-s | Enable status line | vt100-s
|
-vb | Use visible bell instead of beep | wy370-vb
|
-w | Wide 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 usesidentical 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:
Variable | Cap- | TCap | Description
|
Booleans | name | Code |
|
auto_left_margin | bw | bw | cub1 wraps from column 0 to last column
|
auto_right_margin | am | am | terminal has automatic margins
|
back_color_erase | bce | ut | screen erased with background color
|
can_change | ccc | cc | terminal can re-define existing colors
|
ceol_standout_glitch | xhp | xs | standout not erased by overwriting (hp)
|
col_addr_glitch | xhpa | YA | only positive motion for hpa/mhpa caps
|
cpi_changes_res | cpix | YF | changing character pitch changes resolution
|
cr_cancels_micro_mode | crxm | YB | using cr turns off micro mode
|
dest_tabs_magic_smso | xt | xt | tabs destructive, magic so char (t1061)
|
eat_newline_glitch | xenl | xn | newline ignored after 80 cols (concept)
|
erase_overstrike | eo | eo | can erase overstrikes with a blank
|
generic_type | gn | gn | generic line type
|
hard_copy | hc | hc | hardcopy terminal
|
hard_cursor | chts | HC | cursor is hard to see
|
has_meta_key | km | km | Has a meta key (i.e., sets 8th-bit)
|
has_print_wheel | daisy | YC | printer needs operator to change character set
|
has_status_line | hs | hs | has extra status line
|
hue_lightness_saturation | hls | hl | terminal uses only HLS color notation (Tektronix)
|
insert_null_glitch | in | in | insert mode distinguishes nulls
|
lpi_changes_res | lpix | YG | changing line pitch changes resolution
|
memory_above | da | da | display may be retained above the screen
|
memory_below | db | db | display may be retained below the screen
|
move_insert_mode | mir | mi | safe to move while in insert mode
|
move_standout_mode | msgr | ms | safe to move while in standout mode
|
needs_xon_xoff | nxon | nx | padding will not work, xon/xoff required
|
no_esc_ctlc | xsb | xb | beehive (f1=escape, f2=ctrl C)
|
no_pad_char | npc | NP | pad character does not exist
|
non_dest_scroll_region | ndscr | ND | scrolling region is non-destructive
|
non_rev_rmcup | nrrmc | NR | smcup does not reverse rmcup
|
over_strike | os | os | terminal can overstrike
|
prtr_silent | mc5i | 5i | printer will not echo on screen
|
row_addr_glitch | xvpa | YD | only positive motion for vpa/mvpa caps
|
semi_auto_right_margin | sam | YE | printing in last column causes cr
|
status_line_esc_ok | eslok | es | escape can be used on the status line
|
tilde_glitch | hz | hz | cannot print ~'s (hazeltine)
|
transparent_underline | ul | ul | underline character overstrikes
|
xon_xoff | xon | xo | terminal uses xon/xoff handshaking
|
These are the numeric capabilities:
Variable | Cap- | TCap | Description
|
Numeric | name | Code |
|
columns | cols | co | number of columns in a line
|
init_tabs | it | it | tabs initially every # spaces
|
label_height | lh | lh | rows in each label
|
label_width | lw | lw | columns in each label
|
lines | lines | li | number of lines on screen or page
|
lines_of_memory | lm | lm | lines of memory if > line. 0 means varies
|
magic_cookie_glitch | xmc | sg | number of blank characters left by smso or rmso
|
max_attributes | ma | ma | maximum combined attributes terminal can handle
|
max_colors | colors | Co | maximum number of colors on screen
|
max_pairs | pairs | pa | maximum number of color-pairs on the screen
|
maximum_windows | wnum | MW | maximum number of defineable windows
|
no_color_video | ncv | NC | video attributes that cannot be used with colors
|
num_labels | nlab | Nl | number of labels on screen
|
padding_baud_rate | pb | pb | lowest baud rate where padding needed
|
virtual_terminal | vt | vt | virtual terminal number (CB/unix)
|
width_status_line | wsl | ws | number of columns in status line
|
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.
Variable | Cap- | TCap | Description
|
Numeric | name | Code |
|
bit_image_entwining | bitwin | Yo | number of passes for each bit-image row
|
bit_image_type | bitype | Yp | type of bit-image device
|
buffer_capacity | bufsz | Ya | numbers of bytes buffered before printing
|
buttons | btns | BT | number of buttons on mouse
|
dot_horz_spacing | spinh | Yc | spacing of dots horizontally in dots per inch
|
dot_vert_spacing | spinv | Yb | spacing of pins vertically in pins per inch
|
max_micro_address | maddr | Yd | maximum value in micro_..._address
|
max_micro_jump | mjump | Ye | maximum value in parm_..._micro
|
micro_col_size | mcs | Yf | character step size when in micro mode
|
micro_line_size | mls | Yg | line step size when in micro mode
|
number_of_pins | npins | Yh | numbers of pins in print-head
|
output_res_char | orc | Yi | horizontal resolution in units per line
|
output_res_horz_inch | orhi | Yk | horizontal resolution in units per inch
|
output_res_line | orl | Yj | vertical resolution in units per line
|
output_res_vert_inch | orvi | Yl | vertical resolution in units per inch
|
print_rate | cps | Ym | print rate in characters per second
|
wide_char_size | widcs | Yn | character step size when in double wide mode
|
These are the string capabilities:
Variable | Cap- | TCap | Description
|
String | name | Code |
|
acs_chars | acsc | ac | graphics charset pairs, based on vt100
|
back_tab | cbt | bt | back tab (P)
|
bell | bel | bl | audible signal (bell) (P)
|
carriage_return | cr | cr | carriage return (P*) (P*)
|
change_char_pitch | cpi | ZA | Change number of characters per inch to #1
|
change_line_pitch | lpi | ZB | Change number of lines per inch to #1
|
change_res_horz | chr | ZC | Change horizontal resolution to #1
|
change_res_vert | cvr | ZD | Change vertical resolution to #1
|
change_scroll_region | csr | cs | change region to line #1 to line #2 (P)
|
char_padding | rmp | rP | like ip but when in insert mode
|
clear_all_tabs | tbc | ct | clear all tab stops (P)
|
clear_margins | mgc | MC | clear right and left soft margins
|
clear_screen | clear | cl | clear screen and home cursor (P*)
|
clr_bol | el1 | cb | Clear to beginning of line
|
clr_eol | el | ce | clear to end of line (P)
|
clr_eos | ed | cd | clear to end of screen (P*)
|
column_address | hpa | ch | horizontal position #1, absolute (P)
|
command_character | cmdch | CC | terminal settable cmd character in prototype !?
|
create_window | cwin | CW | define a window #1 from #2,#3 to #4,#5
|
cursor_address | cup | cm | move to row #1 columns #2
|
cursor_down | cud1 | do | down one line
|
cursor_home | home | ho | home cursor (if no cup)
|
cursor_invisible | civis | vi | make cursor invisible
|
cursor_left | cub1 | le | move left one space
|
cursor_mem_address | mrcup | CM | memory relative cursor addressing, move to row #1 columns #2
|
cursor_normal | cnorm | ve | make cursor appear normal (undo civis/cvvis)
|
cursor_right | cuf1 | nd | non-destructive space (move right one space)
|
cursor_to_ll | ll | ll | last line, first column (if no cup)
|
cursor_up | cuu1 | up | up one line
|
cursor_visible | cvvis | vs | make cursor very visible
|
define_char | defc | ZE | Define a character #1, #2 dots wide, descender #3
|
delete_character | dch1 | dc | delete character (P*)
|
delete_line | dl1 | dl | delete line (P*)
|
dial_phone | dial | DI | dial number #1
|
dis_status_line | dsl | ds | disable status line
|
display_clock | dclk | DK | display clock
|
down_half_line | hd | hd | half a line down
|
ena_acs | enacs | eA | enable alternate char set
|
enter_alt_charset_mode | smacs | as | start alternate character set (P)
|
enter_am_mode | smam | SA | turn on automatic margins
|
enter_blink_mode | blink | mb | turn on blinking
|
enter_bold_mode | bold | md | turn on bold (extra bright) mode
|
enter_ca_mode | smcup | ti | string to start programs using cup
|
enter_delete_mode | smdc | dm | enter delete mode
|
enter_dim_mode | dim | mh | turn on half-bright mode
|
enter_doublewide_mode | swidm | ZF | Enter double-wide mode
|
enter_draft_quality | sdrfq | ZG | Enter draft-quality mode
|
enter_insert_mode | smir | im | enter insert mode
|
enter_italics_mode | sitm | ZH | Enter italic mode
|
enter_leftward_mode | slm | ZI | Start leftward carriage motion
|
enter_micro_mode | smicm | ZJ | Start micro-motion mode
|
enter_near_letter_quality | snlq | ZK | Enter NLQ mode
|
enter_normal_quality | snrmq | ZL | Enter normal-quality mode
|
enter_protected_mode | prot | mp | turn on protected mode
|
enter_reverse_mode | rev | mr | turn on reverse video mode
|
enter_secure_mode | invis | mk | turn on blank mode (characters invisible)
|
enter_shadow_mode | sshm | ZM | Enter shadow-print mode
|
enter_standout_mode | smso | so | begin standout mode
|
enter_subscript_mode | ssubm | ZN | Enter subscript mode
|
enter_superscript_mode | ssupm | ZO | Enter superscript mode
|
enter_underline_mode | smul | us | begin underline mode
|
enter_upward_mode | sum | ZP | Start upward carriage motion
|
enter_xon_mode | smxon | SX | turn on xon/xoff handshaking
|
erase_chars | ech | ec | erase #1 characters (P)
|
exit_alt_charset_mode | rmacs | ae | end alternate character set (P)
|
exit_am_mode | rmam | RA | turn off automatic margins
|
exit_attribute_mode | sgr0 | me | turn off all attributes
|
exit_ca_mode | rmcup | te | strings to end programs using cup
|
exit_delete_mode | rmdc | ed | end delete mode
|
exit_doublewide_mode | rwidm | ZQ | End double-wide mode
|
exit_insert_mode | rmir | ei | exit insert mode
|
exit_italics_mode | ritm | ZR | End italic mode
|
exit_leftward_mode | rlm | ZS | End left-motion mode
|
exit_micro_mode | rmicm | ZT | End micro-motion mode
|
exit_shadow_mode | rshm | ZU | End shadow-print mode
|
exit_standout_mode | rmso | se | exit standout mode
|
exit_subscript_mode | rsubm | ZV | End subscript mode
|
exit_superscript_mode | rsupm | ZW | End superscript mode
|
exit_underline_mode | rmul | ue | exit underline mode
|
exit_upward_mode | rum | ZX | End reverse character motion
|
exit_xon_mode | rmxon | RX | turn off xon/xoff handshaking
|
fixed_pause | pause | PA | pause for 2-3 seconds
|
flash_hook | hook | fh | flash switch hook
|
flash_screen | flash | vb | visible bell (may not move cursor)
|
form_feed | ff | ff | hardcopy terminal page eject (P*)
|
from_status_line | fsl | fs | return from status line
|
goto_window | wingo | WG | go to window #1
|
hangup | hup | HU | hang-up phone
|
init_1string | is1 | i1 | initialization string
|
init_2string | is2 | is | initialization string
|
init_3string | is3 | i3 | initialization string
|
init_file | if | if | name of initialization file
|
init_prog | iprog | iP | path name of program for initialization
|
initialize_color | initc | Ic | initialize color #1 to (#2,#3,#4)
|
initialize_pair | initp | Ip | Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
|
insert_character | ich1 | ic | insert character (P)
|
insert_line | il1 | al | insert line (P*)
|
insert_padding | ip | ip | insert padding after inserted character
|
key_a1 | ka1 | K1 | upper left of keypad
|
key_a3 | ka3 | K3 | upper right of keypad
|
key_b2 | kb2 | K2 | center of keypad
|
key_backspace | kbs | kb | backspace key
|
key_beg | kbeg | @1 | begin key
|
key_btab | kcbt | kB | back-tab key
|
key_c1 | kc1 | K4 | lower left of keypad
|
key_c3 | kc3 | K5 | lower right of keypad
|
key_cancel | kcan | @2 | cancel key
|
key_catab | ktbc | ka | clear-all-tabs key
|
key_clear | kclr | kC | clear-screen or erase key
|
key_close | kclo | @3 | close key
|
key_command | kcmd | @4 | command key
|
key_copy | kcpy | @5 | copy key
|
key_create | kcrt | @6 | create key
|
key_ctab | kctab | kt | clear-tab key
|
key_dc | kdch1 | kD | delete-character key
|
key_dl | kdl1 | kL | delete-line key
|
key_down | kcud1 | kd | down-arrow key
|
key_eic | krmir | kM | sent by rmir or smir in insert mode
|
key_end | kend | @7 | end key
|
key_enter | kent | @8 | enter/send key
|
key_eol | kel | kE | clear-to-end-of-line key
|
key_eos | ked | kS | clear-to-end-of-screen key
|
key_exit | kext | @9 | exit key
|
key_f0 | kf0 | k0 | F0 function key
|
key_f1 | kf1 | k1 | F1 function key
|
key_f10 | kf10 | k; | F10 function key
|
key_f11 | kf11 | F1 | F11 function key
|
key_f12 | kf12 | F2 | F12 function key
|
key_f13 | kf13 | F3 | F13 function key
|
key_f14 | kf14 | F4 | F14 function key
|
key_f15 | kf15 | F5 | F15 function key
|
key_f16 | kf16 | F6 | F16 function key
|
key_f17 | kf17 | F7 | F17 function key
|
key_f18 | kf18 | F8 | F18 function key
|
key_f19 | kf19 | F9 | F19 function key
|
key_f2 | kf2 | k2 | F2 function key
|
key_f20 | kf20 | FA | F20 function key
|
key_f21 | kf21 | FB | F21 function key
|
key_f22 | kf22 | FC | F22 function key
|
key_f23 | kf23 | FD | F23 function key
|
key_f24 | kf24 | FE | F24 function key
|
key_f25 | kf25 | FF | F25 function key
|
key_f26 | kf26 | FG | F26 function key
|
key_f27 | kf27 | FH | F27 function key
|
key_f28 | kf28 | FI | F28 function key
|
key_f29 | kf29 | FJ | F29 function key
|
key_f3 | kf3 | k3 | F3 function key
|
key_f30 | kf30 | FK | F30 function key
|
key_f31 | kf31 | FL | F31 function key
|
key_f32 | kf32 | FM | F32 function key
|
key_f33 | kf33 | FN | F33 function key
|
key_f34 | kf34 | FO | F34 function key
|
key_f35 | kf35 | FP | F35 function key
|
key_f36 | kf36 | FQ | F36 function key
|
key_f37 | kf37 | FR | F37 function key
|
key_f38 | kf38 | FS | F38 function key
|
key_f39 | kf39 | FT | F39 function key
|
key_f4 | kf4 | k4 | F4 function key
|
key_f40 | kf40 | FU | F40 function key
|
key_f41 | kf41 | FV | F41 function key
|
key_f42 | kf42 | FW | F42 function key
|
key_f43 | kf43 | FX | F43 function key
|
key_f44 | kf44 | FY | F44 function key
|
key_f45 | kf45 | FZ | F45 function key
|
key_f46 | kf46 | Fa | F46 function key
|
key_f47 | kf47 | Fb | F47 function key
|
key_f48 | kf48 | Fc | F48 function key
|
key_f49 | kf49 | Fd | F49 function key
|
key_f5 | kf5 | k5 | F5 function key
|
key_f50 | kf50 | Fe | F50 function key
|
key_f51 | kf51 | Ff | F51 function key
|
key_f52 | kf52 | Fg | F52 function key
|
key_f53 | kf53 | Fh | F53 function key
|
key_f54 | kf54 | Fi | F54 function key
|
key_f55 | kf55 | Fj | F55 function key
|
key_f56 | kf56 | Fk | F56 function key
|
key_f57 | kf57 | Fl | F57 function key
|
key_f58 | kf58 | Fm | F58 function key
|
key_f59 | kf59 | Fn | F59 function key
|
key_f6 | kf6 | k6 | F6 function key
|
key_f60 | kf60 | Fo | F60 function key
|
key_f61 | kf61 | Fp | F61 function key
|
key_f62 | kf62 | Fq | F62 function key
|
key_f63 | kf63 | Fr | F63 function key
|
key_f7 | kf7 | k7 | F7 function key
|
key_f8 | kf8 | k8 | F8 function key
|
key_f9 | kf9 | k9 | F9 function key
|
key_find | kfnd | @0 | find key
|
key_help | khlp | %1 | help key
|
key_home | khome | kh | home key
|
key_ic | kich1 | kI | insert-character key
|
key_il | kil1 | kA | insert-line key
|
key_left | kcub1 | kl | left-arrow key
|
key_ll | kll | kH | lower-left key (home down)
|
key_mark | kmrk | %2 | mark key
|
key_message | kmsg | %3 | message key
|
key_move | kmov | %4 | move key
|
key_next | knxt | %5 | next key
|
key_npage | knp | kN | next-page key
|
key_open | kopn | %6 | open key
|
key_options | kopt | %7 | options key
|
key_ppage | kpp | kP | previous-page key
|
key_previous | kprv | %8 | previous key
|
key_print | kprt | %9 | print key
|
key_redo | krdo | %0 | redo key
|
key_reference | kref | &1 | reference key
|
key_refresh | krfr | &2 | refresh key
|
key_replace | krpl | &3 | replace key
|
key_restart | krst | &4 | restart key
|
key_resume | kres | &5 | resume key
|
key_right | kcuf1 | kr | right-arrow key
|
key_save | ksav | &6 | save key
|
key_sbeg | kBEG | &9 | shifted begin key
|
key_scancel | kCAN | &0 | shifted cancel key
|
key_scommand | kCMD | *1 | shifted command key
|
key_scopy | kCPY | *2 | shifted copy key
|
key_screate | kCRT | *3 | shifted create key
|
key_sdc | kDC | *4 | shifted delete-character key
|
key_sdl | kDL | *5 | shifted delete-line key
|
key_select | kslt | *6 | select key
|
key_send | kEND | *7 | shifted end key
|
key_seol | kEOL | *8 | shifted clear-to-end-of-line key
|
key_sexit | kEXT | *9 | shifted exit key
|
key_sf | kind | kF | scroll-forward key
|
key_sfind | kFND | *0 | shifted find key
|
key_shelp | kHLP | #1 | shifted help key
|
key_shome | kHOM | #2 | shifted home key
|
key_sic | kIC | #3 | shifted insert-character key
|
key_sleft | kLFT | #4 | shifted left-arrow key
|
key_smessage | kMSG | %a | shifted message key
|
key_smove | kMOV | %b | shifted move key
|
key_snext | kNXT | %c | shifted next key
|
key_soptions | kOPT | %d | shifted options key
|
key_sprevious | kPRV | %e | shifted previous key
|
key_sprint | kPRT | %f | shifted print key
|
key_sr | kri | kR | scroll-backward key
|
key_sredo | kRDO | %g | shifted redo key
|
key_sreplace | kRPL | %h | shifted replace key
|
key_sright | kRIT | %i | shifted right-arrow key
|
key_srsume | kRES | %j | shifted resume key
|
key_ssave | kSAV | !1 | shifted save key
|
key_ssuspend | kSPD | !2 | shifted suspend key
|
key_stab | khts | kT | set-tab key
|
key_sundo | kUND | !3 | shifted undo key
|
key_suspend | kspd | &7 | suspend key
|
key_undo | kund | &8 | undo key
|
key_up | kcuu1 | ku | up-arrow key
|
keypad_local | rmkx | ke | leave 'keyboard_transmit' mode
|
keypad_xmit | smkx | ks | enter 'keyboard_transmit' mode
|
lab_f0 | lf0 | l0 | label on function key f0 if not f0
|
lab_f1 | lf1 | l1 | label on function key f1 if not f1
|
lab_f10 | lf10 | la | label on function key f10 if not f10
|
lab_f2 | lf2 | l2 | label on function key f2 if not f2
|
lab_f3 | lf3 | l3 | label on function key f3 if not f3
|
lab_f4 | lf4 | l4 | label on function key f4 if not f4
|
lab_f5 | lf5 | l5 | label on function key f5 if not f5
|
lab_f6 | lf6 | l6 | label on function key f6 if not f6
|
lab_f7 | lf7 | l7 | label on function key f7 if not f7
|
lab_f8 | lf8 | l8 | label on function key f8 if not f8
|
lab_f9 | lf9 | l9 | label on function key f9 if not f9
|
label_format | fln | Lf | label format
|
label_off | rmln | LF | turn off soft labels
|
label_on | smln | LO | turn on soft labels
|
meta_off | rmm | mo | turn off meta mode
|
meta_on | smm | mm | turn on meta mode (8th-bit on)
|
micro_column_address | mhpa | ZY | Like column_address in micro mode
|
micro_down | mcud1 | ZZ | Like cursor_down in micro mode
|
micro_left | mcub1 | Za | Like cursor_left in micro mode
|
micro_right | mcuf1 | Zb | Like cursor_right in micro mode
|
micro_row_address | mvpa | Zc | Like row_address #1 in micro mode
|
micro_up | mcuu1 | Zd | Like cursor_up in micro mode
|
newline | nel | nw | newline (behave like cr followed by lf)
|
order_of_pins | porder | Ze | Match software bits to print-head pins
|
orig_colors | oc | oc | Set all color pairs to the original ones
|
orig_pair | op | op | Set default pair to its original value
|
pad_char | pad | pc | padding char (instead of null)
|
parm_dch | dch | DC | delete #1 characters (P*)
|
parm_delete_line | dl | DL | delete #1 lines (P*)
|
parm_down_cursor | cud | DO | down #1 lines (P*)
|
parm_down_micro | mcud | Zf | Like parm_down_cursor in micro mode
|
parm_ich | ich | IC | insert #1 characters (P*)
|
parm_index | indn | SF | scroll forward #1 lines (P)
|
parm_insert_line | il | AL | insert #1 lines (P*)
|
parm_left_cursor | cub | LE | move #1 characters to the left (P)
|
parm_left_micro | mcub | Zg | Like parm_left_cursor in micro mode
|
parm_right_cursor | cuf | RI | move #1 characters to the right (P*)
|
parm_right_micro | mcuf | Zh | Like parm_right_cursor in micro mode
|
parm_rindex | rin | SR | scroll back #1 lines (P)
|
parm_up_cursor | cuu | UP | up #1 lines (P*)
|
parm_up_micro | mcuu | Zi | Like parm_up_cursor in micro mode
|
pkey_key | pfkey | pk | program function key #1 to type string #2
|
pkey_local | pfloc | pl | program function key #1 to execute string #2
|
pkey_xmit | pfx | px | program function key #1 to transmit string #2
|
plab_norm | pln | pn | program label #1 to show string #2
|
print_screen | mc0 | ps | print contents of screen
|
prtr_non | mc5p | pO | turn on printer for #1 bytes
|
prtr_off | mc4 | pf | turn off printer
|
prtr_on | mc5 | po | turn on printer
|
pulse | pulse | PU | select pulse dialing
|
quick_dial | qdial | QD | dial number #1 without checking
|
remove_clock | rmclk | RC | remove clock
|
repeat_char | rep | rp | repeat char #1 #2 times (P*)
|
req_for_input | rfi | RF | send next input char (for ptys)
|
reset_1string | rs1 | r1 | reset string
|
reset_2string | rs2 | r2 | reset string
|
reset_3string | rs3 | r3 | reset string
|
reset_file | rf | rf | name of reset file
|
restore_cursor | rc | rc | restore cursor to position of last save_cursor
|
row_address | vpa | cv | vertical position #1 absolute (P)
|
save_cursor | sc | sc | save current cursor position (P)
|
scroll_forward | ind | sf | scroll text up (P)
|
scroll_reverse | ri | sr | scroll text down (P)
|
select_char_set | scs | Zj | Select character set, #1
|
set_attributes | sgr | sa | define video attributes #1-#9 (PG9)
|
set_background | setb | Sb | Set background color #1
|
set_bottom_margin | smgb | Zk | Set bottom margin at current line
|
set_bottom_margin_parm | smgbp | Zl | Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
|
set_clock | sclk | SC | set clock, #1 hrs #2 mins #3 secs
|
set_color_pair | scp | sp | Set current color pair to #1
|
set_foreground | setf | Sf | Set foreground color #1
|
set_left_margin | smgl | ML | set left soft margin at current column. See smgl. (ML is not in BSD termcap).
|
set_left_margin_parm | smglp | Zm | Set left (right) margin at column #1
|
set_right_margin | smgr | MR | set right soft margin at current column
|
set_right_margin_parm | smgrp | Zn | Set right margin at column #1
|
set_tab | hts | st | set a tab in every row, current columns
|
set_top_margin | smgt | Zo | Set top margin at current line
|
set_top_margin_parm | smgtp | Zp | Set top (bottom) margin at row #1
|
set_window | wind | wi | current window is lines #1-#2 cols #3-#4
|
start_bit_image | sbim | Zq | Start printing bit image graphics
|
start_char_set_def | scsd | Zr | Start character set definition #1, with #2 characters in the set
|
stop_bit_image | rbim | Zs | Stop printing bit image graphics
|
stop_char_set_def | rcsd | Zt | End definition of character set #1
|
subscript_characters | subcs | Zu | List of subscriptable characters
|
superscript_characters | supcs | Zv | List of superscriptable characters
|
tab | ht | ta | tab to next 8-space hardware tab stop
|
these_cause_cr | docr | Zw | Printing any of these characters causes CR
|
to_status_line | tsl | ts | move to status line, column #1
|
tone | tone | TO | select touch tone dialing
|
underline_char | uc | uc | underline char and move past it
|
up_half_line | hu | hu | half a line up
|
user0 | u0 | u0 | User string #0
|
user1 | u1 | u1 | User string #1
|
user2 | u2 | u2 | User string #2
|
user3 | u3 | u3 | User string #3
|
user4 | u4 | u4 | User string #4
|
user5 | u5 | u5 | User string #5
|
user6 | u6 | u6 | User string #6
|
user7 | u7 | u7 | User string #7
|
user8 | u8 | u8 | User string #8
|
user9 | u9 | u9 | User string #9
|
wait_tone | wait | WA | wait for dial-tone
|
xoff_character | xoffc | XF | XOFF character
|
xon_character | xonc | XN | XON character
|
zero_motion | zerom | Zx | No motion for subsequent character
|
The following string capabilities are present in the SVr4.0 term structure,but were originally not documented in the man page.
Variable | Cap- | TCap | Description
|
String | name | Code |
|
alt_scancode_esc | scesa | S8 | Alternate escape for scancode emulation
|
bit_image_carriage_return | bicr | Yv | Move to beginning of same row
|
bit_image_newline | binel | Zz | Move to next row of the bit image
|
bit_image_repeat | birep | Xy | Repeat bit image cell #1 #2 times
|
char_set_names | csnm | Zy | Produce #1'th item from list of character set names
|
code_set_init | csin | ci | Init sequence for multiple codesets
|
color_names | colornm | Yw | Give name for color #1
|
define_bit_image_region | defbi | Yx | Define rectangualar bit image region
|
device_type | devt | dv | Indicate language/codeset support
|
display_pc_char | dispc | S1 | Display PC character #1
|
end_bit_image_region | endbi | Yy | End a bit-image region
|
enter_pc_charset_mode | smpch | S2 | Enter PC character display mode
|
enter_scancode_mode | smsc | S4 | Enter PC scancode mode
|
exit_pc_charset_mode | rmpch | S3 | Exit PC character display mode
|
exit_scancode_mode | rmsc | S5 | Exit PC scancode mode
|
get_mouse | getm | Gm | Curses should get button events, parameter #1 not documented.
|
key_mouse | kmous | Km | Mouse event has occurred
|
mouse_info | minfo | Mi | Mouse status information
|
pc_term_options | pctrm | S6 | PC terminal options
|
pkey_plab | pfxl | xl | Program function key #1 to type string #2 and show string #3
|
req_mouse_pos | reqmp | RQ | Request mouse position
|
scancode_escape | scesc | S7 | Escape for scancode emulation
|
set0_des_seq | s0ds | s0 | Shift to codeset 0 (EUC set 0, ASCII)
|
set1_des_seq | s1ds | s1 | Shift to codeset 1
|
set2_des_seq | s2ds | s2 | Shift to codeset 2
|
set3_des_seq | s3ds | s3 | Shift to codeset 3
|
set_a_background | setab | AB | Set background color to #1, using ANSI escape
|
set_a_foreground | setaf | AF | Set foreground color to #1, using ANSI escape
|
set_color_band | setcolor | Yz | Change to ribbon color #1
|
set_lr_margin | smglr | ML | Set both left and right margins to #1, #2. (ML is not in BSD termcap).
|
set_page_length | slines | YZ | Set page length to #1 lines
|
set_tb_margin | smgtb | MT | Sets both top and bottom margins to #1, #2
|
The XSI Curses standard added these. They are some post-4.1versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.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!
Variable | Cap- | TCap | Description
|
String | name | Code |
|
enter_horizontal_hl_mode | ehhlm | Xh | Enter horizontal highlight mode
|
enter_left_hl_mode | elhlm | Xl | Enter left highlight mode
|
enter_low_hl_mode | elohlm | Xo | Enter low highlight mode
|
enter_right_hl_mode | erhlm | Xr | Enter right highlight mode
|
enter_top_hl_mode | ethlm | Xt | Enter top highlight mode
|
enter_vertical_hl_mode | evhlm | Xv | Enter vertical highlight mode
|
set_a_attributes | sgr1 | sA | Define second set of video attributes #1-#6
|
set_pglen_inch | slength | sL | YI Set page length to #1 hundredth of an inch
|
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, .indn=\E[%p1%dT, 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 a positive value.Thus cols, which indicates the number of columns the terminal has,gives the value `80' for ansi.Values for numeric capabilities may be specified in decimal, octal or hexadecimal,using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF).
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, providing CS7 is specified.See stty(1).)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 a large file 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, such as TEKTRONIX 4010series, as well as hard copy and APL terminals.)If there is a code to move the cursor to the left edge of the currentrow, give this ascr.(Normally this will be carriage return, control M.)If there is a code to produce an audible signal (bell, beep, etc)give this asbel.
If there is a code to move the cursor one position to the left(such as backspace) that capability should be given ascub1.Similarly, codes to move to the right, up, and down should begiven ascuf1,cuu1,andcud1.These local cursor motions should not alter the text they pass over,for example, you would not normally use `cuf1= ' because thespace would erase the character moved over.
A very important point here is that the local cursor motio