


Some terminals support a line drawing set. This is used by the Terminal Manager when boxes are drawn around windows. The Terminal Manager turns on the "graphics" mode by sending the GO code, then sends normal characters that correspond to the lines, and then sets the terminal back to normal mode with GF.
The GM function lists the normal characters that draw the line segments. This is either a six- or eleven- or thirteen-character string. The characters listed in the GM function correspond, in order, with the following line segments:
1. horizontal line
2. vertical line
3. upper left corner
4. upper right corner
5. lower left corner
6. lower right corner
This is the six-character set. If the terminal has the following line segments, the characters that correspond to them should be included (in order) to make the eleven-character set:
four three-way intersections:
7. missing bottom line
8. missing left line
9. missing top line
10. missing right line
and:
11. the four-way intersection
This is the eleven-character set. If the terminal has the following block characters, the characters that correspond to them should be included (in order) to make the thirteen-character set:
12. upper-half block
13. lower-half block
On a few terminals, the graphics-on and graphics-off sequences are treated as character attributes. In particular, turning off graphics also sets the terminal to its default video attributes. If this is the case, then the code GA (graphics are attributes) should be included in the terminal description. A few terminals also cannot move the cursor while in graphics mode. If this is the case, the code GX (graphics movement glitch) should be included.
Some terminals do not need to send a graphics-on or a graphics-off sequence. For these terminals, the line-drawing characters are available in the default character set. If this applies to your terminal, then just give the GM setting without the GO or GF settings.
Multi-character sequences for graphics
Some terminals require more than one character in the escape sequence that draws a graphical line segment. For example, the two-character sequence "\E\202" might be required to draw a single horizontal line character.
ACUCOBOL-GT permits up to three characters to be specified in an escape sequence that draws a single line segment. The three characters are stored separately and "assembled" into a single sequence by the Terminal Manager.
When these multiple-character sequences are used, the GO (graphics on) and GF (graphics off) codes serve special purposes. GO is used to store the first character in the sequence, and GF is used (if needed) to store the third character.
You tell the runtime (by including the GE code) that GO should be sent to the terminal before each GM graphical character that is sent, and GF should be sent after each GM graphical character.
Also you must make sure that the GM character list contains the appropriate characters. To handle the example mentioned above, in which a horizontal line segment requires the two-character sequence "\E\202", you would add two codes to the terminal database entry: ":GE:" and ":GO=\E:", and also add "\202" to the GM character list in position one (horizontal line character).
vt100|vt-100|DEC VT-100 :\
:cl=\E[;H\E[2J:ce=\E[K:cd=\E[J:\
:cm=\E[%i%d;%dH:nd=\E[C:\
:LO=\E[m:HI=\E[0;1m:RV=\E[7m:\
:UL=\E[4m:BL=\E[5m:RU=\E[4;7m:\
:RB=\E[5;7m:DL:k1=\EOP:k2=\EOQ:\
:k3=\EOR:k4=\EOS:ku=\E[A:\
:kd=\E[B:kr=\E[C:kl=\E[D:\
:GO=\E(0:GF=\E(B:GM=qxlkmjvtwun: