<!--
* t
* DO NOT EDIT THIS FILE BY HAND!
- * It is generated from terminfo.head, Caps, and terminfo.tail.
+ * It is generated from terminfo.head, ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail.
* Note: this must be run through tbl before nroff.
* The magic cookie on the first line triggers this under some man programs.
****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.32 2017/04/22 13:52:49 tom Exp @
+ * @Id: terminfo.head,v 1.35 2018/07/28 22:29:09 tom Exp @
* Head of terminfo man page ends here
- * @Id: terminfo.tail,v 1.88 2017/08/12 22:26:02 tom Exp @
+ * @Id: terminfo.tail,v 1.93 2019/06/01 22:32:15 tom Exp @
* Beginning of terminfo.tail file
* This file is part of ncurses.
* See "terminfo.head" for copyright.
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>terminfo 5 File Formats</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences. This describes
- <STRONG>ncurses</STRONG> version 6.0 (patch 20171028).
+ <STRONG>ncurses</STRONG> version 6.1 (patch 20190623).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
-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 <STRONG>term(7)</STRONG> manual page.
+ For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page.
</PRE><H3><a name="h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></H3><PRE>
These are the boolean capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- auto_left_margin bw bw cub1 wraps from col-
- umn 0 to last column
- auto_right_margin am am terminal has auto-
- matic margins
- back_color_erase bce ut screen erased with
- background color
- can_change ccc cc terminal can re-
- define existing col-
- ors
- 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 reso-
- lution
- 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 (con-
- cept)
- erase_overstrike eo eo can erase over-
- strikes 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 opera-
- tor to change char-
- acter 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 distin-
- guishes 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 over-
- strike
- 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
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ auto_left_margin bw bw cub1 wraps from col-
+ umn 0 to last column
+ auto_right_margin am am terminal has auto-
+ matic margins
+ back_color_erase bce ut screen erased with
+ background color
+ can_change ccc cc terminal can re-
+ define existing col-
+ ors
+ 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 reso-
+ lution
+ 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 (con-
+ cept)
+ erase_overstrike eo eo can erase over-
+ strikes 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 opera-
+ tor to change char-
+ acter 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 distin-
+ guishes 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 over-
+ strike
+ 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:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- 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
- definable 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
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ 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
+ definable 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's printer support.
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- 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 hor-
- izontally in dots
- per inch
-
- dot_vert_spacing spinv Yb spacing of pins ver-
- tically 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 resolu-
- tion in units per
- line
- output_res_horz_inch orhi Yk horizontal resolu-
- tion 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 char-
- acters per second
- wide_char_size widcs Yn character step size
- when in double wide
- mode
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ 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 hor-
+ izontally in dots
+ per inch
+
+ dot_vert_spacing spinv Yb spacing of pins ver-
+ tically 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 resolu-
+ tion in units per
+ line
+ output_res_horz_inch orhi Yk horizontal resolu-
+ tion 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 char-
+ acters per second
+ wide_char_size widcs Yn character step size
+ when in double wide
+ mode
These are the string capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- 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 res-
- olution 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 col-
- umns #2
- cursor_down cud1 do down one line
- cursor_home home ho home cursor (if no
- cup)
- cursor_invisible civis vi make cursor invisi-
- ble
- cursor_left cub1 le move left one space
- cursor_mem_address mrcup CM memory relative cur-
- sor 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 pro-
- grams 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 car-
- riage 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 invisi-
- ble)
- 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 car-
- riage 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 char-
- acter 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 pro-
- grams 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 charac-
- ter motion
- exit_xon_mode rmxon RX turn off xon/xoff
- handshaking
- fixed_pause pause PA pause for 2-3 sec-
- onds
- 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 initializa-
- tion 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 key-
- pad
- 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 key-
- pad
- 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-char-
- acter 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-char-
- acter 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 'key-
- board_transmit' mode
- keypad_xmit smkx ks enter 'key-
- board_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_cur-
- sor 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_cur-
- sor in micro mode
- parm_right_cursor cuf RI move #1 characters
- to the right (P*)
- parm_right_micro mcuf Zh Like parm_right_cur-
- sor 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 with-
- out 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 col-
- umn. 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 mar-
- gin at current col-
- umn
-
-
- 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 subscript-
- able characters
- superscript_characters supcs Zv List of superscript-
- able 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 subse-
- quent character
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ 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 res-
+ olution 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 col-
+ umns #2
+ cursor_down cud1 do down one line
+ cursor_home home ho home cursor (if no
+ cup)
+ cursor_invisible civis vi make cursor invisi-
+ ble
+ cursor_left cub1 le move left one space
+ cursor_mem_address mrcup CM memory relative cur-
+ sor 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 pro-
+ grams 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 car-
+ riage 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 invisi-
+ ble)
+ 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 car-
+ riage 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 char-
+ acter 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 pro-
+ grams 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 charac-
+ ter motion
+ exit_xon_mode rmxon RX turn off xon/xoff
+ handshaking
+ fixed_pause pause PA pause for 2-3 sec-
+ onds
+ 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 initializa-
+ tion 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 key-
+ pad
+ 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 key-
+ pad
+ 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-char-
+ acter 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-char-
+ acter 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 'key-
+ board_transmit' mode
+ keypad_xmit smkx ks enter 'key-
+ board_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_cur-
+ sor 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_cur-
+ sor in micro mode
+ parm_right_cursor cuf RI move #1 characters
+ to the right (P*)
+ parm_right_micro mcuf Zh Like parm_right_cur-
+ sor 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 with-
+ out 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 col-
+ umn. 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 mar-
+ gin at current col-
+ umn
+
+
+ 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 subscript-
+ able characters
+ superscript_characters supcs Zv List of superscript-
+ able 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 subse-
+ quent character
The following string capabilities are present in the SVr4.0 term struc-
ture, but were originally not documented in the man page.
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- alt_scancode_esc scesa S8 Alternate escape
- for scancode emu-
- lation
- 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 char-
- acter 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 rectangular
- bit image region
- device_type devt dv Indicate lan-
- guage/codeset sup-
- port
- display_pc_char dispc S1 Display PC charac-
- ter #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 scan-
- code 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 term-
- cap).
-
-
- 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
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ alt_scancode_esc scesa S8 Alternate escape
+ for scancode emu-
+ lation
+ 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 char-
+ acter 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 rectangular
+ bit image region
+ device_type devt dv Indicate lan-
+ guage/codeset sup-
+ port
+ display_pc_char dispc S1 Display PC charac-
+ ter #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 scan-
+ code 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 term-
+ cap).
+
+
+ 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 hardcopy capabilities. They were
used in some post-4.1 versions of System V curses, e.g., Solaris 2.5
binary-compatible with System V terminfo entries after SVr4.1; beware!
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- 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 high-
- light mode
- enter_top_hl_mode ethlm Xt Enter top highlight
- mode
- enter_vertical_hl_mode evhlm Xv Enter vertical high-
- light mode
- set_a_attributes sgr1 sA Define second set of
- video attributes
- #1-#6
- set_pglen_inch slength YI Set page length to
- #1 hundredth of an
- inch (some implemen-
- tations use sL for
- termcap).
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ 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 high-
+ light mode
+ enter_top_hl_mode ethlm Xt Enter top highlight
+ mode
+ enter_vertical_hl_mode evhlm Xv Enter vertical high-
+ light mode
+ set_a_attributes sgr1 sA Define second set of
+ video attributes
+ #1-#6
+ set_pglen_inch slength YI Set page length to
+ #1 hundredth of an
+ inch (some implemen-
+ tations use sL for
+ termcap).
</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
applies to storage scope terminals, such as TEKTRONIX 4010 series, as
well as hard copy and APL terminals.) If there is a code to move the
cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally
- this will be carriage return, control M.) If there is a code to pro-
+ this will be carriage return, control/M.) If there is a code to pro-
duce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
If there is a code to move the cursor one position to the left (such as
<STRONG>%%</STRONG> outputs "%"
<STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
- as in <STRONG>printf</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow the
- next character to be a "-" flag, avoiding interpreting "%-" as an
- operator.
+ as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
+ the next character to be a "-" flag, avoiding interpreting "%-" as
+ an operator.
%c print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
For example, the DEC vt220 supports most of the modes:
- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+ <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
- none none \E[0m
- p1 standout \E[0;1;7m
- p2 underline \E[0;4m
- p3 reverse \E[0;7m
- p4 blink \E[0;5m
- p5 dim not available
- p6 bold \E[0;1m
- p7 invis \E[0;8m
- p8 protect not used
- p9 altcharset ^O (off) ^N (on)
+ none none \E[0m
+ p1 standout \E[0;1;7m
+ p2 underline \E[0;4m
+ p3 reverse \E[0;7m
+ p4 blink \E[0;5m
+ p5 dim not available
+ p6 bold \E[0;1m
+ p7 invis \E[0;8m
+ p8 protect not used
+ p9 altcharset ^O (off) ^N (on)
We begin each escape sequence by turning off any existing modes, since
there is no quick way to determine whether they are active. Standout
</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
- If the terminal has hardware tabs, the command to advance to the next
- tab stop can be given as <STRONG>ht</STRONG> (usually control I). A "back-tab" command
- which moves leftward to the preceding tab stop can be given as <STRONG>cbt</STRONG>. By
- convention, if the teletype modes indicate that tabs are being expanded
- by the computer rather than being sent to the terminal, programs should
- not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since the user may not have
- the tab stops properly set. If the terminal has hardware tabs which
- are initially set every <EM>n</EM> spaces when the terminal is powered up, the
- numeric parameter <STRONG>it</STRONG> is given, showing the number of spaces the tabs
- are set to. This is normally used by the <STRONG>tset</STRONG> command to determine
- whether to set the mode for hardware tab expansion, and whether to set
- the tab stops. If the terminal has tab stops that can be saved in non-
- volatile memory, the terminfo description can assume that they are
- properly set.
-
- Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings
- for the terminal, <STRONG>iprog</STRONG>, the path name of a program to be run to ini-
- tialize the terminal, and <STRONG>if</STRONG>, the name of a file containing long ini-
- tialization strings. These strings are expected to set the terminal
- into modes consistent with the rest of the terminfo description. They
- are normally sent to the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> pro-
- gram, each time the user logs in. They will be printed in the follow-
- ing order:
+ A few capabilities are used only for tabs:
+
+ <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
+ next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
+
+ <STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop
+ can be given as <STRONG>cbt</STRONG>.
+
+ By convention, if the teletype modes indicate that tabs are being
+ expanded by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
+ the user may not have the tab stops properly set.
+
+ <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
+ spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
+ given, showing the number of spaces the tabs are set to.
+
+ The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
+ whether to set the mode for hardware tab expansion, and whether to
+ set the tab stops. If the terminal has tab stops that can be saved
+ in non-volatile memory, the terminfo description can assume that
+ they are properly set.
+
+ Other capabilities include
+
+ <STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
+
+ <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the ter-
+ minal,
+
+ <STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
+
+ These strings are expected to set the terminal into modes consistent
+ with the rest of the terminfo description. They are normally sent to
+ the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
+ user logs in. They will be printed in the following order:
run the program
<STRONG>iprog</STRONG>
and finally
output <STRONG>is3</STRONG>.
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
- set up without duplicating strings by putting the common sequences in
+ Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
+ set up without duplicating strings by putting the common sequences in
<STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
- A set of sequences that does a harder reset from a totally unknown
+ A set of sequences that does a harder reset from a totally unknown
state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
- and <STRONG>is3</STRONG> respectively. These strings are output by the <STRONG>reset</STRONG> program,
- which is used when the terminal gets into a wedged state. Commands are
- normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying
- effects on the screen and are not necessary when logging in. For exam-
- ple, the command to set the vt100 into 80-column mode would normally be
- part of <STRONG>is2</STRONG>, but it causes an annoying glitch of the screen and is not
- normally needed since the terminal is usually already in 80 column
- mode.
-
- The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
- order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
- any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
+ and <STRONG>is3</STRONG> respectively. These strings are output by the <STRONG>reset</STRONG> program
+ (an alias of <STRONG>tset</STRONG>), which is used when the terminal gets into a wedged
+ state. Commands are normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if
+ they produce annoying effects on the screen and are not necessary when
+ logging in. For example, the command to set the vt100 into 80-column
+ mode would normally be part of <STRONG>is2</STRONG>, but it causes an annoying glitch of
+ the screen and is not normally needed since the terminal is usually
+ already in 80 column mode.
+
+ The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
+ order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
+ any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
<STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil-
ity string.
- If there are commands to set and clear tab stops, they can be given as
+ If there are commands to set and clear tab stops, they can be given as
<STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
- of every row). If a more complex sequence is needed to set the tabs
+ of every row). If a more complex sequence is needed to set the tabs
than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
+ The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
+ command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
+ command-line options.
+
+ In practice, these terminfo capabilities are not often used in initial-
+ ization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
+
+ <STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs)
+ initialized those to every <EM>eight</EM> columns:
+
+ The only exception was the AT&T 2300 series, which set tabs to
+ every <EM>five</EM> columns.
+
+ <STRONG>o</STRONG> In particular, developers of the hardware terminals which are com-
+ monly used as models for modern terminal emulators provided docu-
+ mentation demonstrating that <EM>eight</EM> columns were the standard.
+
+ <STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
+ use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
+ directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
+ other than <EM>eight</EM>.
+
</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
- Many older and slower terminals do not support either XON/XOFF or DTR
- handshaking, including hard copy terminals and some very archaic CRTs
- (including, for example, DEC VT100s). These may require padding char-
+ Many older and slower terminals do not support either XON/XOFF or DTR
+ handshaking, including hard copy terminals and some very archaic CRTs
+ (including, for example, DEC VT100s). These may require padding char-
acters after certain cursor motions and screen changes.
If the terminal uses xon/xoff handshaking for flow control (that is, it
- automatically emits ^S back to the host when its input buffers are
- close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
- padding. You can also set it for memory-mapped console devices effec-
- tively that do not have a speed limit. Padding information should
+ automatically emits ^S back to the host when its input buffers are
+ close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
+ padding. You can also set it for memory-mapped console devices effec-
+ tively that do not have a speed limit. Padding information should
still be included so that routines can make better decisions about rel-
ative costs, but actual pad characters will not be transmitted.
If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
- below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
+ below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
- If the terminal requires other than a null (zero) character as a pad,
- then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
string is used.
</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
- Some terminals have an extra "status line" which is not normally used
+ Some terminals have an extra "status line" which is not normally used
by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
- The simplest case is a status line which is cursor-addressable but not
+ The simplest case is a status line which is cursor-addressable but not
part of the main scrolling region on the screen; the Heathkit H19 has a
- status line of this kind, as would a 24-line VT100 with a 23-line
+ status line of this kind, as would a 24-line VT100 with a 23-line
scrolling region set up on initialization. This situation is indicated
by the <STRONG>hs</STRONG> capability.
- Some terminals with status lines need special sequences to access the
- status line. These may be expressed as a string with single parameter
- <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
- line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor posi-
- tions before the last <STRONG>tsl</STRONG>. You may need to embed the string values of
- <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish
+ Some terminals with status lines need special sequences to access the
+ status line. These may be expressed as a string with single parameter
+ <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
+ line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor posi-
+ tions before the last <STRONG>tsl</STRONG>. You may need to embed the string values of
+ <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish
this.
- The status line is normally assumed to be the same width as the width
- of the terminal. If this is untrue, you can specify it with the
+ The status line is normally assumed to be the same width as the width
+ of the terminal. If this is untrue, you can specify it with the
numeric capability <STRONG>wsl</STRONG>.
A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
- The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
+ The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
etc., work ordinarily in the status line.
- The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
+ The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
They are documented here in case they ever become important.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- Many terminals have alternate character sets useful for forms-drawing.
+ Many terminals have alternate character sets useful for forms-drawing.
Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing char-
- acters supported by the VT100, with some characters from the AT&T
- 4410v1 added. This alternate character set may be specified by the
+ acters supported by the VT100, with some characters from the AT&T
+ 4410v1 added. This alternate character set may be specified by the
<STRONG>acsc</STRONG> capability.
- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG>
- ------------------------------------------------------------------------
- arrow pointing right ACS_RARROW > + 0x2b
- arrow pointing left ACS_LARROW < , 0x2c
- arrow pointing up ACS_UARROW ^ - 0x2d
- arrow pointing down ACS_DARROW v . 0x2e
- solid square block ACS_BLOCK # 0 0x30
- diamond ACS_DIAMOND + ` 0x60
- checker board (stipple) ACS_CKBOARD : a 0x61
- degree symbol ACS_DEGREE \ f 0x66
- plus/minus ACS_PLMINUS # g 0x67
- board of squares ACS_BOARD # h 0x68
-
- lantern symbol ACS_LANTERN # i 0x69
- lower right corner ACS_LRCORNER + j 0x6a
- upper right corner ACS_URCORNER + k 0x6b
- upper left corner ACS_ULCORNER + l 0x6c
- lower left corner ACS_LLCORNER + m 0x6d
- large plus or crossover ACS_PLUS + n 0x6e
- scan line 1 ACS_S1 ~ o 0x6f
- scan line 3 ACS_S3 - p 0x70
- horizontal line ACS_HLINE - q 0x71
- scan line 7 ACS_S7 - r 0x72
- scan line 9 ACS_S9 _ s 0x73
- tee pointing right ACS_LTEE + t 0x74
- tee pointing left ACS_RTEE + u 0x75
- tee pointing up ACS_BTEE + v 0x76
- tee pointing down ACS_TTEE + w 0x77
- vertical line ACS_VLINE | x 0x78
- less-than-or-equal-to ACS_LEQUAL < y 0x79
- greater-than-or-equal-to ACS_GEQUAL > z 0x7a
- greek pi ACS_PI * { 0x7b
- not-equal ACS_NEQUAL ! | 0x7c
- UK pound sign ACS_STERLING f } 0x7d
- bullet ACS_BULLET o ~ 0x7e
+ <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG>
+ --------------------------------------------------------------------
+ arrow pointing right ACS_RARROW > + 0x2b
+ arrow pointing left ACS_LARROW < , 0x2c
+ arrow pointing up ACS_UARROW ^ - 0x2d
+ arrow pointing down ACS_DARROW v . 0x2e
+ solid square block ACS_BLOCK # 0 0x30
+ diamond ACS_DIAMOND + ` 0x60
+ checker board (stipple) ACS_CKBOARD : a 0x61
+ degree symbol ACS_DEGREE \ f 0x66
+ plus/minus ACS_PLMINUS # g 0x67
+ board of squares ACS_BOARD # h 0x68
+ lantern symbol ACS_LANTERN # i 0x69
+ lower right corner ACS_LRCORNER + j 0x6a
+ upper right corner ACS_URCORNER + k 0x6b
+ upper left corner ACS_ULCORNER + l 0x6c
+ lower left corner ACS_LLCORNER + m 0x6d
+ large plus or crossover ACS_PLUS + n 0x6e
+ scan line 1 ACS_S1 ~ o 0x6f
+ scan line 3 ACS_S3 - p 0x70
+ horizontal line ACS_HLINE - q 0x71
+ scan line 7 ACS_S7 - r 0x72
+ scan line 9 ACS_S9 _ s 0x73
+ tee pointing right ACS_LTEE + t 0x74
+ tee pointing left ACS_RTEE + u 0x75
+ tee pointing up ACS_BTEE + v 0x76
+ tee pointing down ACS_TTEE + w 0x77
+ vertical line ACS_VLINE | x 0x78
+ less-than-or-equal-to ACS_LEQUAL < y 0x79
+ greater-than-or-equal-to ACS_GEQUAL > z 0x7a
+ greek pi ACS_PI * { 0x7b
+ not-equal ACS_NEQUAL ! | 0x7c
+ UK pound sign ACS_STERLING f } 0x7d
+ bullet ACS_BULLET o ~ 0x7e
A few notes apply to the table itself:
- <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
- uppercase "I" although Unix implementations use the lowercase "i"
+ <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
+ uppercase "I" although Unix implementations use the lowercase "i"
mapping.
- <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
- set feature, temporarily switching <EM>modes</EM> and sending characters in
+ <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
+ set feature, temporarily switching <EM>modes</EM> and sending characters in
the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the ta-
ble).
<STRONG>o</STRONG> The AT&T terminal added graphics characters outside that range.
- Some of the characters within the range do not match the VT100;
- presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
- replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
+ Some of the characters within the range do not match the VT100;
+ presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+ replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control
- characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
+ characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
(re)used in curses.
- The best way to define a new device's graphics set is to add a column
- to a copy of this table for your terminal, giving the character which
- (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
+ The best way to define a new device's graphics set is to add a column
+ to a copy of this table for your terminal, giving the character which
+ (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
corresponding graphic. Then read off the VT100/your terminal character
pairs right to left in sequence; these become the ACSC string.
</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
- The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
- <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
+ The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+ <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
Most color terminals are either "Tektronix-like" or "HP-like":
is usually 8), and can set character-cell foreground and background
characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
- <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up sepa-
- rately (foreground and background are not independently settable).
+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up sepa-
+ rately (foreground and background are not independently settable).
Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different colors. ANSI-
compatible terminals are Tektronix-like.
Some basic color capabilities are independent of the color method. The
- numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
- colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
+ numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
+ colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
(original pair) string resets foreground and background colors to their
- default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
- color-pairs to their default values for the terminal. Some terminals
+ default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
+ color-pairs to their default values for the terminal. Some terminals
(including many PC terminal emulators) erase screen areas with the cur-
- rent background color rather than the power-up default background;
+ rent background color rather than the power-up default background;
these should have the boolean capability <STRONG>bce</STRONG>.
While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the inabil-
- ity of some devices to set foreground and background colors indepen-
+ ity of some devices to set foreground and background colors indepen-
dently), there are separate capabilities for setting these features:
- <STRONG>o</STRONG> To change the current foreground or background color on a Tek-
- tronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
- (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set back-
- ground). These take one parameter, the color number. The SVr4
- documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
- "If the terminal supports ANSI escape sequences to set background
- and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+ <STRONG>o</STRONG> To change the current foreground or background color on a Tek-
+ tronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
+ (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set back-
+ ground). These take one parameter, the color number. The SVr4
+ documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
+ "If the terminal supports ANSI escape sequences to set background
+ and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
tively.
- <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
- and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respec-
- tively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG>
+ <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
+ and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respec-
+ tively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG>
and <STRONG>setab</STRONG> capabilities if they are defined.
- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argu-
- ment each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as
- follows (the middle column is the symbolic #define available in the
- header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is
+ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argu-
+ ment each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as
+ follows (the middle column is the symbolic #define available in the
+ header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is
free to map these as it likes, but the RGB values indicate normal loca-
tions in color space.
green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
+
magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
It is important to not confuse the two sets of color capabilities; oth-
erwise red/blue will be interchanged on the display.
- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
+ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
set which color pair is current.
Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
- <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
- indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
+ <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
+ indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
- which describe the color. These three parameters default to being
+ which describe the color. These three parameters default to being
interpreted as RGB (Red, Green, Blue) values. If the boolean capa-
- bility <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
+ bility <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
Saturation) indices. The ranges are terminal-dependent.
- <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
+ <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
color-pair value. It will take seven parameters; a color-pair num-
- ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first back-
- ground and then foreground colors. These parameters must be (Red,
+ ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first back-
+ ground and then foreground colors. These parameters must be (Red,
Green, Blue) or (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
- On some color terminals, colors collide with highlights. You can reg-
- ister these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask of
- attributes not to be used when colors are enabled. The correspondence
+ On some color terminals, colors collide with highlights. You can reg-
+ ister these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask of
+ attributes not to be used when colors are enabled. The correspondence
with the attributes understood by <STRONG>curses</STRONG> is as follows:
- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
- A_STANDOUT 0 1 sgr
- A_UNDERLINE 1 2 sgr
- A_REVERSE 2 4 sgr
- A_BLINK 3 8 sgr
- A_DIM 4 16 sgr
- A_BOLD 5 32 sgr
- A_INVIS 6 64 sgr
- A_PROTECT 7 128 sgr
- A_ALTCHARSET 8 256 sgr
- A_HORIZONTAL 9 512 sgr1
- A_LEFT 10 1024 sgr1
- A_LOW 11 2048 sgr1
- A_RIGHT 12 4096 sgr1
- A_TOP 13 8192 sgr1
- A_VERTICAL 14 16384 sgr1
- A_ITALIC 15 32768 sitm
-
- For example, on many IBM PC consoles, the underline attribute collides
- with the foreground color blue and is not available in color mode.
+ <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
+ A_STANDOUT 0 1 sgr
+ A_UNDERLINE 1 2 sgr
+ A_REVERSE 2 4 sgr
+ A_BLINK 3 8 sgr
+ A_DIM 4 16 sgr
+ A_BOLD 5 32 sgr
+ A_INVIS 6 64 sgr
+ A_PROTECT 7 128 sgr
+ A_ALTCHARSET 8 256 sgr
+ A_HORIZONTAL 9 512 sgr1
+ A_LEFT 10 1024 sgr1
+ A_LOW 11 2048 sgr1
+ A_RIGHT 12 4096 sgr1
+ A_TOP 13 8192 sgr1
+ A_VERTICAL 14 16384 sgr1
+ A_ITALIC 15 32768 sitm
+
+ For example, on many IBM PC consoles, the underline attribute collides
+ with the foreground color blue and is not available in color mode.
These should have an <STRONG>ncv</STRONG> capability of 2.
- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes
+ SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes
the output in favor of colors.
</PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
- If the terminal requires other than a null (zero) character as a pad,
- then this can be given as pad. Only the first character of the pad
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as pad. Only the first character of the pad
string is used. If the terminal does not have a pad character, specify
- npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
- though the application may set this value to something other than a
- null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+ npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+ though the application may set this value to something other than a
+ null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
pad character.
- If the terminal can move up or down half a line, this can be indicated
+ If the terminal can move up or down half a line, this can be indicated
with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily use-
ful for superscripts and subscripts on hard-copy terminals. If a hard-
- copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
- (usually control L).
+ copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
+ (usually control/L).
- If there is a command to repeat a given character a given number of
- times (to save time transmitting a large number of identical charac-
- ters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. The
- first parameter is the character to be repeated and the second is the
+ If there is a command to repeat a given character a given number of
+ times (to save time transmitting a large number of identical charac-
+ ters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. The
+ first parameter is the character to be repeated and the second is the
number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is the
same as "xxxxxxxxxx".
If the terminal has a settable command character, such as the TEKTRONIX
- 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
- is chosen which is used in all capabilities. This character is given
- in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
+ 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
+ is chosen which is used in all capabilities. This character is given
+ in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
supported on some UNIX systems: The environment is to be searched for a
- <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
+ <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
are replaced with the character in the environment variable.
- Terminal descriptions that do not represent a specific kind of known
- terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
- the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
- not know how to talk to the terminal. (This capability does not apply
- to <EM>virtual</EM> terminal descriptions for which the escape sequences are
+ Terminal descriptions that do not represent a specific kind of known
+ terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
+ the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+ not know how to talk to the terminal. (This capability does not apply
+ to <EM>virtual</EM> terminal descriptions for which the escape sequences are
known.)
If the terminal has a "meta key" which acts as a shift key, setting the
- 8th bit of any character transmitted, this fact can be indicated with
- <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
- will usually be cleared. If strings exist to turn this "meta mode" on
+ 8th bit of any character transmitted, this fact can be indicated with
+ <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared. If strings exist to turn this "meta mode" on
and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
If the terminal has more lines of memory than will fit on the screen at
- once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
+ once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
is still more memory than fits on the screen.
- If the terminal is one of those supported by the UNIX virtual terminal
+ If the terminal is one of those supported by the UNIX virtual terminal
protocol, the terminal number can be given as <STRONG>vt</STRONG>.
- Media copy strings which control an auxiliary printer connected to the
- terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
- turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
- is on, all text sent to the terminal will be sent to the printer. It
- is undefined whether the text is also displayed on the terminal screen
- when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
+ Media copy strings which control an auxiliary printer connected to the
+ terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+ turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
+ is on, all text sent to the terminal will be sent to the printer. It
+ is undefined whether the text is also displayed on the terminal screen
+ when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
leaves the printer on for as many characters as the value of the param-
eter, then turns the printer off. The parameter should not exceed 255.
- All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while
+ All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while
an <STRONG>mc5p</STRONG> is in effect.
</PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
- Hazeltine terminals, which do not allow "~" characters to be displayed
+ Hazeltine terminals, which do not allow "~" characters to be displayed
should indicate <STRONG>hz</STRONG>.
- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
- If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
+ If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
normal text on top of it), <STRONG>xhp</STRONG> should be given.
Teleray terminals, where tabs turn all characters moved over to blanks,
- should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
- this is now "dest_tabs_magic_smso"; in older versions, it was tel-
+ should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
+ this is now "dest_tabs_magic_smso"; in older versions, it was tel-
eray_glitch. This glitch is also taken to mean that it is not possible
to position the cursor on top of a "magic cookie", that to erase stand-
- out mode it is instead necessary to use delete and insert line. The
+ out mode it is instead necessary to use delete and insert line. The
ncurses implementation ignores this glitch.
- The Beehive Superbee, which is unable to correctly transmit the escape
- or control C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
- for escape and f2 for control C. (Only certain Superbees have this
- problem, depending on the ROM.) Note that in older terminfo versions,
+ The Beehive Superbee, which is unable to correctly transmit the escape
+ or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+ for escape and f2 for control/C. (Only certain Superbees have this
+ problem, depending on the ROM.) Note that in older terminfo versions,
this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
- Other specific terminal problems may be corrected by adding more capa-
+ Other specific terminal problems may be corrected by adding more capa-
bilities of the form <STRONG>x</STRONG><EM>x</EM>.
</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
- Long terminfo entries are unlikely to be a problem; to date, no entry
- has even approached terminfo's 4096-byte string-table maximum. Unfor-
- tunately, the termcap translations are much more strictly limited (to
- 1023 bytes), thus termcap translations of long terminfo entries can
+ Long terminfo entries are unlikely to be a problem; to date, no entry
+ has even approached terminfo's 4096-byte string-table maximum. Unfor-
+ tunately, the termcap translations are much more strictly limited (to
+ 1023 bytes), thus termcap translations of long terminfo entries can
cause problems.
- The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
- user to allocate a 1024-byte buffer for the termcap entry. The entry
- gets null-terminated by the termcap library, so that makes the maximum
- safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
- the application and the termcap library being used does, and where in
- the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
+ The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+ user to allocate a 1024-byte buffer for the termcap entry. The entry
+ gets null-terminated by the termcap library, so that makes the maximum
+ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
+ the application and the termcap library being used does, and where in
+ the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
several bad things can happen.
- Some termcap libraries print a warning message or exit if they find an
+ Some termcap libraries print a warning message or exit if they find an
entry that's longer than 1023 bytes; others do not; others truncate the
- entries to 1023 bytes. Some application programs allocate more than
+ entries to 1023 bytes. Some application programs allocate more than
the recommended 1K for the termcap entry; others do not.
- Each termcap entry has two important sizes associated with it: before
- "tc" expansion, and after "tc" expansion. "tc" is the capability that
+ Each termcap entry has two important sizes associated with it: before
+ "tc" expansion, and after "tc" expansion. "tc" is the capability that
tacks on another termcap entry to the end of the current one, to add on
its capabilities. If a termcap entry does not use the "tc" capability,
then of course the two lengths are the same.
- The "before tc expansion" length is the most important one, because it
- affects more than just users of that particular terminal. This is the
- length of the entry as it exists in /etc/termcap, minus the backslash-
+ The "before tc expansion" length is the most important one, because it
+ affects more than just users of that particular terminal. This is the
+ length of the entry as it exists in /etc/termcap, minus the backslash-
newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap
libraries strip off the final newline, too (GNU termcap does not). Now
suppose:
<STRONG>o</STRONG> and the application has only allocated a 1k buffer,
- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
- the whole entry into the buffer, no matter what its length, to see
+ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
if it is the entry it wants,
- <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
- long entry, appears in the termcap file after the long entry, or
- does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+ <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
the whole termcap file).
- Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
- core dump the program. Programs like telnet are particularly vulnera-
- ble; modern telnets pass along values like the terminal type automati-
- cally. The results are almost as undesirable with a termcap library,
- like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages when it
- reads an overly long termcap entry. If a termcap library truncates
- long entries, like OSF/1 3.0, it is immune to dying here but will
+ Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
+ core dump the program. Programs like telnet are particularly vulnera-
+ ble; modern telnets pass along values like the terminal type automati-
+ cally. The results are almost as undesirable with a termcap library,
+ like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages when it
+ reads an overly long termcap entry. If a termcap library truncates
+ long entries, like OSF/1 3.0, it is immune to dying here but will
return incorrect data for the terminal.
- The "after tc expansion" length will have a similar effect to the
+ The "after tc expansion" length will have a similar effect to the
above, but only for people who actually set TERM to that terminal type,
- since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
+ since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
type it was looking for, not while searching.
- In summary, a termcap entry that is longer than 1023 bytes can cause,
- on various combinations of termcap libraries and applications, a core
- dump, warnings, or incorrect operation. If it is too long even before
- "tc" expansion, it will have this effect even for users of some other
- terminal types and users whose TERM variable does not have a termcap
+ In summary, a termcap entry that is longer than 1023 bytes can cause,
+ on various combinations of termcap libraries and applications, a core
+ dump, warnings, or incorrect operation. If it is too long even before
+ "tc" expansion, it will have this effect even for users of some other
+ terminal types and users whose TERM variable does not have a termcap
entry.
- When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
- translation is too long. The -c (check) option also checks resolved
+ When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
+ translation is too long. The -c (check) option also checks resolved
(after tc expansion) lengths.
</PRE><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
- It is not wise to count on portability of binary terminfo entries
- between commercial UNIX versions. The problem is that there are at
- least two versions of terminfo (under HP-UX and AIX) which diverged
- from System V terminfo after SVr1, and have added extension capabili-
- ties to the string table that (in the binary format) collide with Sys-
+ It is not wise to count on portability of binary terminfo entries
+ between commercial UNIX versions. The problem is that there are at
+ least two versions of terminfo (under HP-UX and AIX) which diverged
+ from System V terminfo after SVr1, and have added extension capabili-
+ ties to the string table that (in the binary format) collide with Sys-
tem V and XSI Curses extensions.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and TER-
+ Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and TER-
MINFO_DIRS is not supported by older implementations.
- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
+ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
interpret the %A and %O operators in parameter strings.
- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
- alternate-character-set mode (such modes may, among other things, map
- CR and NL to characters that do not trigger local motions). The
- <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
- the possibility that an XPG4 implementation making the opposite inter-
- pretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG>
+ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
+ alternate-character-set mode (such modes may, among other things, map
+ CR and NL to characters that do not trigger local motions). The
+ <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
+ the possibility that an XPG4 implementation making the opposite inter-
+ pretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG>
turned off.
The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes
- in a slightly non-standard way to get better update efficiency. See
+ in a slightly non-standard way to get better update efficiency. See
the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
- documented in SVr4 or the XSI Curses standard. They are deduced from
+ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+ documented in SVr4 or the XSI Curses standard. They are deduced from
the documentation for the AT&T 505 terminal.
- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants
- to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
- xterm that can return mouse-tracking information in the keyboard-input
+ Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants
+ to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
+ xterm that can return mouse-tracking information in the keyboard-input
stream.
- X/Open Curses does not mention italics. Portable applications must
- assume that numeric capabilities are signed 16-bit values. This
- includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value
- used for italics with ncv can be confused with an absent or cancelled
- ncv. If italics should work with colors, then the ncv value must be
+ X/Open Curses does not mention italics. Portable applications must
+ assume that numeric capabilities are signed 16-bit values. This
+ includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value
+ used for italics with ncv can be confused with an absent or cancelled
+ ncv. If italics should work with colors, then the ncv value must be
specified, even if it is zero.
- Different commercial ports of terminfo and curses support different
+ Different commercial ports of terminfo and curses support different
subsets of the XSI Curses standard and (in some cases) different exten-
sion sets. Here is a summary, accurate as of October 1995:
capability (<STRONG>set_pglen</STRONG>).
<STRONG>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo capa-
- bilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
+ bilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
<STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
- <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics
- <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
- through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some
+ <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics
+ <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
+ through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some
incompatible extensions in the string table.
- <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63,
+ <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63,
plus a number of incompatible string table extensions.
<STRONG>o</STRONG> <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ <STRONG><A HREF="tabs.1m.html">tabs(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>