A Guided Tour of the Common Lisp Interface Manager Ramana Rao <raoQxerox.com> William M. York <york~ila.com> Xerox Palo Alto Research Center International Lisp Associates, Inc. Dennis Doughty <
[email protected]> International Lisp Associates, Inc. Abstract formatting; and high level facilities like context sen- sitive input, an adaptive toolkit, and an application The Common Lisp Interface Manager (CLIM) is a building framework. powerful Lisp-based system that provides a layered CLIM will eventually support a large num- set of facilities for building user interfaces. These ber of window enviromnents including Genera[16], facilities include a portable layer called Silica that in- X[12], the Macintosh[l], Microsoft Windows[5], cludes basic windowing, input, output services, and SunView[13], and NextStep[6]. CLIM is designed to mechanisms for constructing window types and user exploit the functionality provided by the host envi- interface components; stream-oriented input and out- ronment to the degree that it makes sense. For ex- put facilities extended with presentations and con- ample, CLIM top level windows are typically mapped text sensitive input similar to the work pioneered in onto host windows, and input and output opera- the Genera UI system; and a gadget-oriented toolkit tions are ultimately performed by host window sys- similar to those found in the X world extended with tem code. Another example is that CLIM supports support for look and feel adaptiveness. In this arti- the incorporation of toolkits written in other lan- cle, we present an overview of CLIM's broad range guages (e.g. C-based toolkits that implement Motif[7] of functionality and present a series of examples that or OpenLook[15]).