An overview of the X toolkit

Abstract
The X11 Window System defines a network protocol [6] for communication between a graphics server and an application. The X library [3] provides a procedural interface to the protocol.The X toolkit [4] is an object-oriented construction kit built on top of the X library. The toolkit is used to write user interface components (“widgets”), to organize a set of widget instances into a complete user interface, and to link a user interface with the functionality provided by an application.This paper describes the capabilities and structure of the X toolkit from three viewpoints: application developer, widget writer, and application user. We discuss the toolkit's mechanisms to address inefficiencies caused by the separation of application and server, and by the extensive user configurability of toolkit-based applications. We point out some drawbacks to using the toolkit, and briefly describe the tools being developed to overcome these problems.