Index of /pub/X/opengroup/R5contrib/xakcl
Name Last modified Size Description
Parent Directory -
xakcl.tar.Z 1993-04-15 08:00 167K
Xakcl.sun4 1993-04-15 08:00 3.6M
Xakcl.hp 1993-04-15 08:00 3.5M
README 1993-04-15 08:00 4.4K
README file for the Xakcl interface between akcl and X windows. 04 Sep 92
Copyright (c) 1992, The University of Texas at Austin. All rights reserved.
See the file "copyright" for full copyright statement.
Xakcl is an interface from akcl to the Xwindows library,
written by Hiep Huu Nguyen ( hhnguyen@cs.utexas.edu ). Xakcl has been
tested on the HP9000 and SUN4 but should work on any machine that runs
an akcl that allows dynamic linking (i.e. the Suns, Decs). In order to
create Xakcl, it is necesary to have akcl running.
dwindow.lsp is an "easy to use" interface from Lisp to Xakcl,
written by Gordon S. Novak Jr. ( novak@cs.utexas.edu ) It is written in
GLISP and has been translated into the Common Lisp file dwtrans.lsp ,
which is what most users will use. Documentation is provided in the
LaTex file dwdoc.tex . Test files are dwtest.lsp and pcalc.lsp .
Akcl and Xakcl can be ftp'ed from
rascal.ics.utexas.edu 128.83.138.20
cli.com 192.31.85.1
The file is called xakcl.tar.Z. ftp it to your site and
uncompress and un-tar it:
uncompress xakcl.tar.Z
tar -xf xakcl.tar
After un-taring, the Xakcl direcotory contains the files:
Events.c
Makefile
README
X.lsp
X10.lsp
XAtom.lsp
XStruct-2.c
XStruct-4.c
XStruct-l-3.lsp
Xakcl.example.lsp
Xakcl.paper
Xinit.lsp
Xlib.lsp
Xstruct.lsp
Xutil-2.c
Xutil.lsp
copyright
defentry-events.lsp
dispatch-events.lsp
dwdoc.tex
dwindow.lsp
dwtest.lsp
dwtrans.lsp
foo.del
general-c.c
general.lsp
keysymdef.lsp
make-xakcl.lsp
pcalc.lsp
These files contain:
c code necesary for some general facilities and
interface into X, in the files:
Events.c
XStruct-4.c
XStruct-2.c
Xutil-2.c
general-c.c
The lisp and shell makefiles that compile and create Xakcl are:
make-xakcl.lsp:
Makefile
For reference the lisp interfaces to functions reside in:
Xlib.lsp
Xstruct.lsp
general.lsp
Xutil.lsp
XStruct-l-3.lsp
defentry-events.lsp
Constant declarations are in:
X.lsp
XAtom.lsp
keysymdef.lsp
X10.lsp
These files correspond to C header files for X windows:
Xlib.lsp
Xutil.lsp
X.lsp
XAtom.lsp
keysymdef.lsp
X10.lsp
What little documentation there is:
Xakcl.paper
Also see Xakcl.example.lsp for some PRIMITIVE examples.
dwindow package files:
dwindow.lsp source code, written in GLISP
dwtrans.lsp dwindow.lsp translated to plain Common Lisp
dwdoc.tex documentation in LaTex
dwtest.lsp examples of use of dwindow
pcalc.lsp pocket calculator
In order to make Xakcl, first edit the Makefile and change the
IFLAGS variable to your system configuration. Then run akcl. Load
the file "make-xackl.lsp". Compile the files with (compile-xakcl).
Set the variable *libs* to your library paths. Then make xakcl with
(make-xakcl). This will save a lisp image called Xakcl in your
directory. If you do not want to save the lisp image (which is about
3 megabytes), you can compile Xakcl once, and comment out the line
(save "Xakcl") from the function make-xakcl. Save this file, and when
you want to use Xakcl call make-xakcl. Now make-xakcl will only link
in the Xackl library without saving the lisp image. it takes about 3
minutes to do this.
% ;; edit the Makfile ....
%akcl
>(load "make-xakcl.lsp")
>(compile-xakcl)
....
>(setq *libs* "-L /usr/local/lib/X11 -L /usr/local/lib") ;; ie for HP
or
>(setq *libs* "-L/usr/local/libX11 -L/usr/local/lib") ;; for suns
>(make-xakcl)
....
After making an image of Xakcl, run Xakcl with the command 'Xakcl'.
Below is a sample session.
%Xakcl
AKCL (Austin Kyoto Common Lisp) Version(1.605) Wed Dec 18 12:57:00 CST 1991
Contains Enhancements by W. Schelter
>(load "Xinit.lsp")
Loading Xinit.lsp
Finished loading Xinit.lsp
T
>(Xinit)
NIL
>(open-window)
10485761
>(bye)
Bye.
As you can see, all that happened was that a simple window appeared.
Read the paper Xakcl.paper for more details.
To try the dwindow package, do the following:
%Xakcl
(load "dwtrans.o") ; compiled dwtrans.lsp = translated dwindow functions
(load "dwtest.lsp") ; test functions
(wtesta) ; make a window
(wtestb) ; draw some stuff
(wtestc) ; choose from menu, then click in window
(wtestd) ; menu with icons
(wteste) ; picture menu with sensitive points
(wtesth) ; arrows
(load "pcalc.lsp")
(pcalc) ; pocket calculator