;;; ;;; README ;;; ;;; Overview documentation for Project CLXS ;;; ;;; Copyright (C) 2005, Alastair Bridgewater ;;; What we have here is the beginnings of an X server written in Common Lisp. It is presently comprised almost entirely of rough edges, is badly incomplete, and is written for SBCL only (due mostly to the use of SB-BSD-SOCKETS, SERVE-EVENT, and SB-UNIX in the network interface). At present, the server will accept connections from client programs and send them a slightly-bogus connection accept packet (more bogus for big-endian clients). It will then start serving requests. Only a small handful of requests have yet been implemented, and most of them have just been hacked up to get things minimally working. xlsatoms will display the list of atoms that the server knows, which is a good sign. The internal server interfaces are starting to shape up, so we may soon be at a point where they'll be stable enough to build on. To try CLXS out, do the following: (require :asdf) (load "clxs.asd") (asdf:operate 'asdf:load-op :clxs) (clxs::start-clxs-server) This will start CLXS listening on localhost:1. If you want it to listen on a different display, clxs::start-clxs-server has a keyword argument, :display, for the display number. When you've had your fun, shut the server down with: (clxs::stop-clxs-server) Do not attempt to start listening on two displays at once. Those of you who wish to hack on CLXS might do well to read the spec at http://www.dridus.com/~nyef/clxs-design-notes.txt . It is somewhat incomplete, but should give a good idea as to what the major components are and how they fit together. ;;; EOF