01.01.2013 Views

AT&T UNIX™PC Unix System V Users Manual - tenox

AT&T UNIX™PC Unix System V Users Manual - tenox

AT&T UNIX™PC Unix System V Users Manual - tenox

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TAM (3T) (AT&T UNIX PC only ) TAM(3T)<br />

window as large as the screen and every time it receives the<br />

SIGWIND signal it resets its window to the top and as large as<br />

the screen, the user is effectively blocked from running any other<br />

applications.<br />

The major difference between the remote and UNIX PC terminals<br />

from the application point of view is the lack of kernel level window<br />

support for remote terminals. TAM supports windows transparently<br />

within a given process, but knows nothing about windows<br />

created by other processes. Remote terminals can display<br />

multiple windows but, unlike the UNIX PC terminal, only one<br />

application owne the screen at a time. TAM simulates the kernel<br />

window functions for a particular application by maintaining a<br />

screen image, as well as those portions of windows that are overlayed.<br />

Each process controls the entire screen, and windows<br />

created by other processes are erased when the new process issues<br />

a winit() call.<br />

TAM uses the insert and delete line functions on remote terminals<br />

for scrolling whenever the window is as wide as the screen. This<br />

applies to windows with or without borders. Application programmers<br />

who are concerned with making their programs run<br />

efficiently on remote terminals should use windows of full screen<br />

width if planning on scrolling the window.<br />

If an application creates a child process that writes to the screen,<br />

then after the child process dies, the application must issue a special<br />

wrefresh{} call to restore its screen image. For remote terminals,<br />

TAM provides window ID's, instead of file descriptors, for<br />

accessing windows. Other differences from the bit-mapped terminal<br />

are that the tty modes cannot be independently set and child<br />

processes do not inherit windows.<br />

TAM supports an optional mouse input device. Initially, mouse<br />

reports are disabled, so applications that don't use the mouse<br />

don't need to worry about it. When mouse reports are turned on<br />

by the application, they are returned to the application as a special<br />

8-bit input code (or 7-bit input escape sequence) in the input<br />

stream.<br />

In the default enabled state, a mouse report is inserted in the<br />

input stream on each change of the button state (whether each of<br />

the three buttons is up or down). Thus, these reports are buffered<br />

and are in sequence with any keyboard input.<br />

The mouse report contains the mouse button state and the mouse<br />

cursor coordinates. This mouse report can be read and parsed by<br />

the application, or the application can use the wgetmouse() call,<br />

which reads the information from the input stream and returns it<br />

in a structure.<br />

After being enabled, the mouse reports initially return only<br />

changes in mouse buttons. Optionally, mouse reports can tell if<br />

the mouse cursor goes outside (or inside) a specified rectangle. In<br />

the case of the remote terminal, mouse reports are never received,<br />

and the mouse related subroutine calls are ignored.<br />

- 4-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!