This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Guile with Xt based Widgets



The contrib directory contains xguile, which is a trivial port
of xscm to guile. xscm provides scheme bindings for Athena and 
Lesstif (or Motif). Lesstif is getting quite stable, and works 
really well for most of my applications, except drag and drop is a
mess. Then again drag and drop is pretty hairy in Motif too.

Since I put up the original version about six months ago it has 
suffered slight bit rot,  scm_gen_puts has gone away to be replaced by
(or reverted to )  scm_puts. You need to alter scm.h

I have made some further progress on xguile, and if enough people
are interested I can try get to a new release cleared; this will take
me weeks to months.

New things I now have working,

1) Bindings for the SciPlot widget, not complete but enough to use.
(SciPlot is a free graphing widget for scientific/technical applications,
it does log or lin axes, cartesian or polar, PostScript generation,
nice rotated Y axis labels. )
2) XtAppAddInput, can trigger callbacks on new data on a port;
can be an alternative to threads in some cases.  
3) Barely working, alpha code to have a GUI coexist with scheme 
threaded code. To do it right, we need (at least) to replace NextEvent.o
in the Xt library with a thread aware version that waits on scm_iselect.
I have a horrible hack that uses select at the scheme level, but this is
not what we want, I am sure.
4) I now have (at least on Linux) shared library support working,
so you can dynamically load the GUI interface into standard guile.
5) I have made startup much faster by converting most of the scheme code 
that defines various Xt constants into C.
 
I use guile+lesstif in one application daily. 

Julian Satchell
<satchell@dera.gov.uk>