Specifications
Chapter 1
Athena Widgets and The Intrinsics
The X Toolkit is made up of twodistinct pieces, the Xt Intrinsics and a widget set. The Athena
widget set is a sample implementation of a widget set built upon the Intrinsics. In the X Toolkit, a
widget is the combination of an X windoworsubwindowand its associated input and output
semantics.
Because the Intrinsics provide the same basic functionality to all widget sets it may be possible to
use widgets from the Athena widget set with other widget sets based upon the Intrinsics. Since
widget sets may also implement private protocols, all functionality may not be available when
mixing and matching widget sets. Forinformation about the Intrinsics, see the XToolkit Intrin-
sics — C Language Interface.
The Athena widget set is a library package layered on top of the Intrinsics and Xlib that provides
aset of user interface tools sufficient to build a wide variety of applications. This layer extends
the basic abstractions provided by X and provides the next layer of functionality primarily by sup-
plying a cohesive set of sample widgets. Although the Intrinsics are a Consortium standard, there
is no standard widget set.
To the extent possible, the Intrinsics are "policy-free". The application environment and widget
set, not the Intrinsics, define, implement, and enforce:
•Policy
•Consistency
•Style
Each individual widget implementation defines its own policy. The X Toolkit design allows for,
butdoes not necessarily encourage, the free mixing of radically differing widget implementations.
1.1. Introduction to the X Toolkit
The X Toolkit provides tools that simplify the design of application user interfaces in the X Win-
dowSystem programming environment. It assists application programmers by providing a set of
common underlying user-interface functions. It also lets widget programmers modify existing
widgets, by subclassing, or add newwidgets. By using the X Toolkit in their applications, pro-
grammers can present a similar user interface across applications to all workstation users.
The X Toolkit consists of:
•Aset of Intrinsics functions for building widgets
•Anarchitectural model for constructing widgets
•Awidget set for application programming
While the majority of the Intrinsics functions are intended for the widget programmer,asubset of
the Intrinsics functions are to be used by application programmers (see XToolkit Intrinsics — C
Language Interface). The architectural model lets the widget programmer design newwidgets by
using the Intrinsics and by combining other widgets. The application interface layers built on top
of the X Toolkit include a coordinated set of widgets and composition policies. Some of these
widgets and policies are specific to a single application domain, and others are common to a vari-
ety of applications.
The remainder of this chapter discusses the X Toolkit and Athena widget set:
•Terminology
1