# CLIENT class

The client is the client application, which provides the functionality underlying the UI. When a message is sent to the client object it usually results in a message being sent to the client *application*, usually an external program communicating via IPC, which has little or no knowledge of the UI. The client application receives and executes commands delivered by the UI via the client object. Output from the client may or may not come back to the object manager. That portion of the output which comes back to the object manager is in the form of assignments of string values to UI parameter-class objects (another way of thinking of this is that messages or events are sent to and acted upon by the parameter objects). Hence, the client object is output only so far as the client application is concerned.

The Client-class commands are used to send a message to the client.

                    gkey <key>
                    gcmd <command-string>
                 literal <command>

or just <command>, e.g., "send client <command>" will work in most cases.

GKEY sends an IRAF graphics keystroke. GCMD sends an IRAF graphics colon command. LITERAL sends a literal command string to the client. The keyword "literal" may optionally be omitted, i.e., "send client foo" and "send client literal foo" are the same. The keyword "literal" may be used to ensure that the client command string which follows will not be interpreted as a Client-class command (such as gkey, gcmd, or literal).

# gcmd

Send a graphics command string to the client application. A graphics command string is a graphics cursor value with the key set to `:' and the command string given as the string part of the cursor value. The protocol module which posted the client output procedure is responsible for encoding and sending the cursor command.

Usage:

            gcmd <command-string>

# gkey

Send a graphics key event to the client application. A graphics key event is a graphics cursor value with the key set to some integer value and a null string part.

Usage:

    gkey <key>

# literal

Send a literal command to the client application.

Usage:

            literal <command>