CLIM mail archive


A Kinder Gentler Event Loop


I am attempting to construct a somewhat robust version of an extension to CLIM.
The extension I wish to build will supply two things:

  - Periodic events (otherwise known as timer events)
  - Idle events

This is in an ideal world, I recognize I am dealing with Common Lisp, CLOS, and
CLIM and will therefore probably settle for something much less.

Regarding periodic events the minimum functionality I need is to generate a
timer event every clim-bogus-extensions:*timer-event-interval*.  Idle events in
this minimum functionality system would be generated after
clim-bogus-extensions:*microseconds-till-idle* or some such nonsense.  These
variables are made global in the hope of having the settings apply to a given
application frame process, rather than every application frame (using the
special variable handling of processes in the somewhat common process

I am trying to do this in such as way as to avoid rewriting in a serious way
the extensions after each CLIM release.  This seems reasonable, right?

The entire event methodology seems to evade any firm grasp by my humble
understanding.  One could even say that the more I work with CLIM code the less
I understand, but that is another story.  Simplistically, There is a layer of
event metaphor in CLIM built upon a silica layer that supplies the underlying
mechanics and event definition.  I initially based my implementation on the
Silica layer with mixed results.  This seemed logical as it had such macros as
sio2::define-event-type, which though an internal appeared to be a valid
starting point.

Now, for a while now I have been listening to talk about CLIM version x being
based on the Symbolics' version and version x+y being the unification of ILA's
version and Symbolics version.  Suddenly this week I was struck with the
realization that a Symbolics version implied the absence of a Silica layer.  My
already floundering spirits sank deeper into the murk.

After spending a few days looking more intensively at the CLIM layer, I am
completely baffled as to how it would be possible to implement my fondest
desires using only this layer.  Yet, it seems this is the only layer available
until some unknown time in a calmer future.  I turn, therefore, to this great
band of information with my plight.

Can you help us Obi-Wan Kenobi?


The sun will shine in my back door someday.
March winds will blow all my troubles away.


Main Index | Thread Index