
9
TTY Subwindows
The TTY (or terminal emulator) subwindow emulates a standard terminal, the principal dif-
ference being that the row and column dimensions of a TTY subwindow can vary from that
of a standard terminal. In a TTY subwindow, you can run arbitrary programs, including a
complete interactive shell. Or you can emulate terminal interface applications that use the
curses(3X) terminal screen optimization package without actually running a separate pro-
cess. The TTY subwindow accepts the standard ANSI escape sequences for doing ASCII
screen manipulation, so you can use termcap or termio screen-handling routines. This chap-
ter discusses the TTYSW package. Figure 9-1 shows the class hierarchy for the TTYSW pack-
age.
Generic
Object
(Drawable) Window Tty
Figure 9-1. TTY package class hierarchy
9.1 Creating a TTY Subwindow
Programs using TTY subwindows must include the file <xview/tty.h>. Like all XView win-
dows, you create a TTY subwindow by calling xv_create() with the appropriate type
parameter, as in:
Tty tty;
tty = xv_create(frame, TTY, NULL);
The default TTY subwindow will fork a shell process and the user can use it interactively to
enter commands. This program does not interact with the processing of the application in
which the TTY subwindow resides; it is an entirely separate process. For example, if you
want to start the TTY subwindow with another program, say man, you can do so by specify- ...