Annotation of 43BSD/contrib/emacs/etc/TERMS, revision 1.1.1.1

1.1       root        1: This file describes what you must or might want to do to termcap entries
                      2: to make terminals work properly and efficiently with Emacs.  Information
                      3: on likely problems with specific types of terminals appears at the end
                      4: of the file.
                      5: 
                      6: *** What you want in a terminal ***
                      7: 
                      8: Vital
                      9: 1. Easy to compute suitable padding for.
                     10: 2. Never ever sends ^S/^Q unless you type them, at least in one mode.
                     11: 
                     12: Nice for speed
                     13: 1. Supports insert/delete of multiple lines in one command.
                     14: 2. Same for multiple characters, though doing them one by
                     15: one is usually fast enough except on emulators running on
                     16: machines with bitmap screens.
                     17: 
                     18: Nice for usability
                     19: 1. Considerably more than 24 lines.
                     20: 2. Meta key (shift-like key that controls the 0200 bit
                     21: in every character you type).
                     22: 
                     23: *** New termcap strings ***
                     24: 
                     25: Emacs supports certain termcap strings that are not described in the
                     26: 4.2 manual but appear to be standard in system V.  The one exception
                     27: is `cS', which I invented.
                     28: 
                     29: `AL'    insert several lines.  Takes one parameter, the number of
                     30:         lines to be inserted.  You specify how to send this parameter
                     31:        using a %-construct, just like the cursor positions in the `cm'
                     32:        string.
                     33: 
                     34: `DL'    delete several lines.  One parameter.
                     35: 
                     36: `IC'    insert several characters.  One parameter.
                     37: 
                     38: `DC'    delete several characters.  One parameter.
                     39: 
                     40: `rp'    repeat a character.  Takes two parameters, the character
                     41:         to be repeated and the number of times to repeat it.
                     42:        Most likely you will use `%.' for sending the character
                     43:        to be repeated.  Emacs interprets a padding spec with a *
                     44:        as giving the amount of padding per repetition.
                     45: 
                     46: `cs'    set scroll region.  Takes two parameters, the vertical
                     47:        positions of the first line to include in the scroll region
                     48:        and the last line to include in the scroll region.
                     49:        Both parameters are origin-zero.  The effect of this
                     50:        should be to cause a following insert-line or delete-line
                     51:        not to move lines below the bottom of the scroll region.
                     52: 
                     53:        This is not the same convention that Emacs version 16 used.
                     54:        That is because I was led astray by unclear documentation
                     55:        of the meaning of %i in termcap strings.  Since the termcap
                     56:        documentation for `cs' is also unclear, I had to deduce the
                     57:        correct parameter conventions from what would make the VT-100's
                     58:        `cs' string work properly.  From an incorrect assumption about
                     59:        %i, I reached an incorrect conclusion about `cs', but the result
                     60:        worked correctly on the VT100 and ANSII terminals.  In Emacs
                     61:        version 17, both `cs' and %i work correctly.
                     62: 
                     63:        The version 16 convention was to pass, for the second parameter,
                     64:        the line number of the first line beyond the end of the
                     65:        scroll region.
                     66: 
                     67: `cS'    set scroll region.  Differs from `cs' in taking parameters
                     68:        differently.  There are four parameters:
                     69:        1. Total number of lines on the screen.
                     70:        2. Number of lines above desired scroll region.
                     71:        3. Number of lines below (outside of) desired scroll region.
                     72:        4. Total number of lines on the screen, like #1.
                     73:        This is because an Ambassador needs the parameters like this.
                     74: 
                     75: `cr', `do', `le'
                     76:        Emacs will not attempt to use ^M, ^J or ^H for cursor motion
                     77:        unless these capabilities are present and say to use those
                     78:        characters.
                     79: 
                     80: Defining these strings is important for getting maximum performance
                     81: from your terminal.
                     82: 
                     83: Make sure that the `ti' string sets all modes needed for editing
                     84: in Emacs.  For example, if your terminal has a mode that controls
                     85: wrap at the end of the line, you must decide whether to specify
                     86: the `am' flag in the termcap entry; whichever you decide, the `ti'
                     87: string should contain commands to set the mode that way.
                     88: (Emacs also sends the `vs' string after the `ti' string.
                     89: You can put the mode-setting commands in either one of them.)
                     90: 
                     91: *** Specific Terminal Types ***
                     92: 
                     93: Watch out for termcap entries for Ann Arbor Ambassadors that
                     94: give too little padding for clear-screen.  7.2 msec per line is right.
                     95: These are the strings whose padding you probably should change:
                     96:     :al=1*\E[L:dl=1*\E[M:cd=7.2*\E[J:cl=7.2*\E[H\E[J:
                     97: I have sometimes seen `\E[2J' at the front of the `ti' string;
                     98: this is a clear-screen, very slow, and it can cause you to get
                     99: Control-s sent by the terminal at startup.  I recommend removing
                    100: the `\E[2J' from the `ti' string.
                    101: The `ti' or `vs' strings also usually need stuff added to them, such as
                    102:     \E[>33;52;54h\E[>30;37;38;39l
                    103: You might want to add the following to the `te' or `ve' strings:
                    104:     \E[>52l;\E[>37;h
                    105: The following additional capabilities will improve performance:
                    106:     :AL=1*\E[%dL:DL=1*\E[%dM:IC=4\E[%d@:DC=4\E[%dP:rp=1*%.\E[%db:
                    107: If you find that the Meta key does not work, make sure that
                    108:     :km:
                    109: is present in the termcap entry.
                    110: 
                    111: Watch out for termcap entries for VT100's that fail to specify
                    112: the `sf' string, or that omit the padding needed for the `sf' and `sr'
                    113: strings (2msec per line affected).  What you need is
                    114:     :sf=2*^J:sr=2*\EM:cs=\E[%i%d;%dr:
                    115: 
                    116: The Concept-100 and Concept-108 have many modes that `ti' strings
                    117: often fail to initialize.  If you have problems on one of these
                    118: terminals, that is probably the place to fix them.  These terminals
                    119: can support an `rp' string.
                    120: 
                    121: Watch out on HP terminals for problems with standout disappearing on
                    122: part of the mode line.  These problems are due to the absence of
                    123: :sg#0: which some HP terminals need.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.