Application programming

Graphical user interfaces

The graphical user interfaces include SCO OpenServer X server and the Motif graphical user interface.

SCO OpenServer X server

The graphical user interface is based on release X11R6 of the X Window System, a network- and operating system-independent windowing system. X displays, containing the X ``server,'' run on computers with either monochrome or color bitmap display hardware. The server distributes user input to and accepts output requests from various application programs (referred to as ``clients''), which may be running locally or across the network. The X server ``serves'' the needs of the applications (clients) for presenting graphical output to the user and getting user input from a keyboard and mouse.

At the lowest level, X clients can use Xlib, a C library, to interface with the windowing system by means of a stream connection.

At the next level is the C library for the X Intrinsics, which offer a base for creating user interface ``widgets.'' Widgets are a set of code and data that provide the look and feel of a user interface. The intrinsics are built on top of Xlib, and they monitor events related to user interactions, and dispatch the correct widget code to handle the display. Widgets can call application-registered routines (called ``callbacks'') to handle the specific application semantics of an interaction. The X Intrinsics also monitor application-registered, non-graphical events and dispatch application routines to handle them.

Clients usually use a higher level library of the X Intrinsics and a set of widgets in addition to Xlib. This higher level interface is the Motif graphical user interface.

Motif graphical user interface

The Motif Graphical User Interface is an application programming interface that provides a user-friendly graphical environment for the UNIX system. It allows traditional UNIX system commands to be replaced with graphics tools that include windows, menus, icons, and other symbols. Using a hand-held pointing device (a ``mouse''), you manipulate windows by moving them, changing their size and running them in the background. You can have multiple applications running at the same time by creating more than one window on your screen.

Next topic: System calls and libraries
Previous topic: A simple ETI program

© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005