Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
Overview of OpenWindows Architecture
1
- This chapter provides an overview of the OpenWindows window system architecture. The OPEN LOOK Graphical User Interface is briefly described, as well as the components of the OpenWindows product. This chapter also includes an overview of the file system.
Architecture Overview
-
Figure 1-1 on page 2 illustrates the architecture of the OpenWindows environment. Each rectangle bordered by a solid line is a component of the OpenWindows architecture. The "Operating System" and "Hardware" rectangles, bordered by dashed lines, are included in the figure to show you how the OpenWindows environment fits into a computer system. These two rectangles are not part of the OpenWindows architecture.

Figure 1-1
- A user interface specifies a consistent screen layout that effects applications (clients), APIs (Application Programmer's Interface), and window managers. The OPEN LOOK Graphical User Interface is the user interface implemented in the OpenWindows environment and is discussed on page 3.
- This manual is primarily concerned with the OpenWindows server. Other architecture components are discussed in detail in separate technical manuals referenced throughout this chapter.
OPEN LOOK Graphical User Interface
- The OPEN LOOK Graphical User Interface (GUI) is not software; it is a specification for a user interface that builds on the graphical user interface design pioneered by the Xerox Corporation. The OPEN LOOK GUI specifies windows and menus with common graphic symbols (instead of typed system commands) to provide an intuitive environment. Users are presented with a consistent screen layout that can be used across various platforms and operating systems. This common look and feel benefits end users, application programmers, and software vendors.
- While the application programmer can implement the OPEN LOOK GUI from scratch by using Xlib, the usual implementation approach is to use a toolkit written for a specific windowing UI (for example, OLIT, or XView(TM)). These toolkits provide routines that implement interface elements, allowing the programmer to concentrate on the design of the application. Examples of interface elements are windows, resize corners, and scrollbars.
- For more information on the OPEN LOOK GUI, see the OPEN LOOK Graphical User Interface Application Style Guidelines available through SunExpress or your local bookstore.
OpenWindows Applications
- OpenWindows applications (clients) are applications that run within the OpenWindows environment. These clients are implemented with the OPEN LOOK GUI and are integrated with other applications on the desktop. These applications are usually visible on the desktop as icons.
- For more information on integrating your application with other OpenWindows application, see the Desktop Integration Guide.
- For more information on how to use OpenWindows applications, see the Solaris Advanced User's Guide and the Solaris User's Guide.
- The following applications are part of the OpenWindows environment:
-
- DeskSet Applications
The DeskSet(TM) is a group of productivity applications, such as Mail Tool, File Manager, Calendar Manager, Clock, Print Tool, Audio Tool, and Icon Editor.
- For more information on DeskSet, see the Solaris User's Guide and the Solaris Advanced User's Guide.
-
- Help Viewer
Use the Help Viewer application to read help handbooks and a tutorial called Introducing Your Desktop. Help handbooks provide quick-reference information about the workspace and the DeskSet applications. The desktop tutorial provides an overview of using your workspace, including how to use the mouse, icons, windows, and menus. Choose Help from the Workspace menu to run the Help Viewer.
- Demo Applications
Demonstration applications, or Demos that you can run are located in /usr/openwin/demo. These Demos are written with several OpenWindows toolkits. The source for some Demos is located in /usr/openwin/share/src.
-
Note - This directory is included by default only on systems installed with the "entire" configuration due to disk space limitations.
OpenWindows Application Programmer's Interfaces
- An application programmer's interface (API) is a set of software routines you use to build applications. Toolkits and libraries are examples of APIs that range from high-level abstractions (toolkits and libraries such as XGL(TM) and SunPHIGS(TM)) to low-level abstractions (libraries such as Xlib, the lowest level interface to the X Window System available to you).
OpenWindows Toolkits
- The OpenWindows toolkits provide a set of user interface objects and widgets (such as scrollbars, menus, and buttons) that implement the look and feel of an OPEN LOOK application. The toolkits also provide a mechanism to manage the interpretation of events received from the window server. The application developer combines the interface objects and event handling mechanisms with application-specific code.
- OpenWindows provides two toolkits and many applications built with these toolkits. Since these toolkits support the OPEN LOOK GUI, the OpenWindows applications and customer applications built with these toolkits are OPEN LOOK applications.
- The two toolkits are:
-
- OPEN LOOK Intrinsics Toolkit (OLIT)
- XView
OLIT
- The OPEN LOOK Intrinsics Toolkit (OLIT) is a GUI toolkit for OpenWindows that is based on the Xt Intrinsics from MIT (Massachusetts Institute of Technology). OLIT features an OPEN LOOK widget set (prebuilt user interface components).
- For more information on programming with OLIT, see the following manuals:
-
XView
- The XView toolkit (X Window System-based Visual/Integrated Environment for Workstations) simplifies application development under the X Window System by providing you with a set of user interface objects. XView is based on several fundamental principles of object-oriented programming.
- For more information on programming with XView, see the following manuals:
-
Libraries
- Libraries are files that incorporate collections of software routines. Link these files into your programs as needed. Libraries provide software reusability.
- All of the libraries available in OpenWindows are in /usr/openwin/lib. See "OpenWindows Directory Structure" on page 7 for a list of libraries available and "X11 Libraries" on page 19 and "DPS Libraries" on page 31 for further information on supported libraries.
OPEN LOOK Window Manager
- A window manager implements the functions with which a user can control the appearance of windows on the screen. These functions include moving, resizing, opening, closing, and quitting windows. Other functions of window managers include setting input focus, installing colormaps, and starting up new applications.
- By default, OpenWindows runs the OPEN LOOK window manager (olwm). It is designed to manipulate windows using a two- or three-button mouse.
- X Window System managers that are ICCCM (Inter-Client Communication Conventions Manual) compliant (for example, gwm, mwm, twm) are compatible with OpenWindows, and olwm is compatible in a generic X11 environment. For information on how to change from the default olwm to another X window manager, see the olwm(1) man page.
- The X Consortium's ICCCM specifies how a client coexists properly with other clients sharing the same server. For more information on the ICCCM, see "ICCCM Compliance" on page 21 and the X Protocol Reference Manual.
- For more information on window managers, see the following documentation:
-
-
Xlib Programming Manual
-
olwm(1) man page
OpenWindows Server
- The OpenWindows server (called XSun) is a program that is the foundation for the OpenWindows environment. It is the X Window System server (Version 11, Release 5-X11R5) with a Display PostScript(TM) (DPS) imaging system extension. It implements a client-server model of window systems, is portable to a wide variety of hardware platforms, and supports portable X11 extensions.
- The OpenWindows server is described in more detail in the remaining chapters of this manual.
OpenWindows Directory Structure
- A software product's directory structure can show a great deal about the product's features. It can tell you where the executables, include files, and libraries reside, and reveal the basic logic or design of the product. Table 1-1 helps you to get familiar with the OpenWindows product.
- The OpenWindows directory structure includes the following top-level directories (all of which are prefixed by /usr/openwin).
-
Table 1-1
| Directory | Subdirectory | Content |
| SUNWits |
| Server private files for Internal Use Only |
| /bin |
| OpenWindows executables |
| /demo |
| OpenWindows demonstration programs |
| /etc |
| Symbolic link to /share/etc |
| /keytables | US and international keytables, and keytable.map |
| /tt | ToolTalk data files |
| /workspace | /patterns (.xbm files and attributes) |
| /include | Symbolic link to /share/include
Various library header files |
| /X11 | X11 header files, /DPS, /Xaw, /Xmu, /bitmaps, /extensions |
| /Xau | Symbolic link to /include/X11 |
| /Xol | OLIT header files |
| /config | generic.h header file |
| /desktop | Classing engine header files |
| /dga | dga.h header file |
| /help | libhelp header files |
| /images | Various bitmap files |
| /olgx | olgx header file |
| /pixrect | Pixrect header files |
| /portable | c_varieties.h and portable.h header files |
| /xview | XView header files |
-
Table 1-1
| Directory | Subdirectory | Content |
| /lib |
| OpenWindows default start-up files and libraries, MIT core distribution libraries, rgb files |
| /X11 | Server support files, /fonts, and DPS .upr files |
| /Xol | OLIT data files |
| /app-defaults | X applications default files |
| /cetables | Classing Engine tables |
| /config | imake files |
| /help | Symbolic link to /locale/C/help |
| /libp | Profiles libraries |
| /locale | Locale libraries (/C, /iso_8859_1) |
| /xdm | Xdm configuration files |
| /man | OpenWindows man pages
Symbolic link to /share/man |
| /man1 | OpenWindows command man pages |
| /man1m | OpenWindows command man pages |
| /man3 | Library man pages, for XView, OLIT, Xt, Xlib, etc. |
| /man4 | AnswerBook man pages |
| /man5 | File format man pages |
| /man6 | Demos man pages |
| /man7 | Non-command man pages |
| /server | Server private files for Internal Use Only |
| /share | Architecture-independent files |
| /etc | Location of files in /etc |
| /images | /PostScript, /fish, /raster |
| /include | Location of files in /include |
| /locale | Location of files in /lib/locale |
-
Table 1-1
| Directory | Subdirectory | Content |
| /share | /man | Location of files in /man |
| /src | /dig_samples, /extensions, /fonts, /olit, /tooltalk, /xview |
| /xnews | /client |
|
|