ContentsIndexPreviousNext

Line Drawing

Some terminals support a line drawing set. The Terminal Manager uses this when boxes are drawn. The method used is to turn on the "graphics" mode by sending the GO code, then sending normal characters that correspond to the lines, and then setting the terminal to normal mode with GF.

The GM function lists the 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, they 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, they 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.


Some VT-100 emulators support line drawing by using alternate character sets. They turn on graphics by sending "ESC(0" and turn it off by sending "ESC(B". The entry is:

vt100|vt100|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: