X11
X11 stands for 'X Window System, Version 11'. The X Window System was developed at MIT and first released in 1985. Since then the X Window System has become and industry-standard program available for nearly every Unix-like (and some non-Unix-like) operating system supporting graphical bitmapped displays.

X11's fundamental concept is that of the server and client. The server is the program which manages the graphics display, and clients are programs which connect to the server and (usually) request graphics to be displayed. X11 uses a protocol, the X Protocol that allows communication between the server and clients to be encapsulated in nearly any type of network protocol that provides a reliable two-way byte stream (eg TCP, Chaosnet, DECnet, Unix sockets). As such X is network-transparent, and clients can execute on host computers separate from the computer which hosts the server.

The X Protocol is language-independent. The primary implementation is in a weird object-oriented-ish form of ANSI C, but the X Protocol can be implemented in nearly any programming language. As such, Common Lisp has its own implementation of the X Protocol, called CLX.

MIT has long since let go of X, and it is now officially maintained and standardized by X.Org (formerly by the MIT X Consortium, then by The Open Group). Many different implementations of X exist, each typically supported by a particular Unix vendor. However the original source code for X was and continues to be freely available.

  • CLX - CLX provides an implementation of the X Window System protocol to Lisp graphics library[ies] and applications
  • CLXS - CLXS is an early-stage implementation of an X11 server (the part that does the drawing and keyboard/mouse handling) in Common Lisp
  • eclipse - Eclipse is an X11 window manager written entirely in Common Lisp
  • stumpwm - Stumpwm is a tiling, keyboard driven X11 window manager application written entirely in Common Lisp.
  • tinywm-lisp - tinywm-lisp is a Common Lisp port of the TinyWM X11 window manager
  • xlyb - XLyb is a persistence library for CLX to provide "window persistence" for Common Lisp X applications
  • zen - zen is a hackable X server written in Common Lisp