Newsgroups: comp.lang.lisp.franz,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!spool.mu.edu!uwm.edu!rutgers!att-out!nntpa!nntpa.cb.att.com!lgm
From: lgm@polaris.ih.att.com (Lawrence G. Mayka)
Subject: Event loop of a CLIM frame [Was, Re: LUV-95]
In-Reply-To: baujard@cui.unige.ch's message of Wed, 23 Nov 1994 09:05:01 GMT
Message-ID: <LGM.94Nov25154232@polaris.ih.att.com>
Sender: news@nntpa.cb.att.com (Netnews Administration)
Nntp-Posting-Host: polaris.ih.att.com
Organization: AT&T Bell Laboratories, Naperville, Illinois, USA
References: <199411171853.NAA15136@wolverine.cs.rochester.edu>
	<1994Nov23.090501.19090@news.unige.ch>
Date: Fri, 25 Nov 1994 21:42:32 GMT
Lines: 26
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp.franz:408 comp.lang.lisp:15803

In article <1994Nov23.090501.19090@news.unige.ch> baujard@cui.unige.ch (BAUJARD Olivier) writes:

   I would like to modify the Event Loop of a frame in CLIM to
   take into account events from a socket stream (connection requests
   or writtings). Did anybody encounter the same problem ?

In such situations, I haven't tried to tap directly into the event
loop.  Instead, I typically have a separate thread read from the
socket stream and either inject commands into the CLIM frame's process
via CLIM:EXECUTE-FRAME-COMMAND, or directly manipulate the frame's
panes.  The former is safer but implies that pane updates from the
socket cannot take effect during the entering of a user command.  The
latter technique allows for real-time display changes even during
user-command entry but may require synchronization (and perhaps even
aborting of the user's entry).  Consider, for example, a
socket-induced display change that, via incremental redisplay, deletes
a presentation that the user was currently acting upon.

You might get a more energetic response by posting this to the CLIM
mailing list (subscribe via clim-request@bbn.com).
--
        Lawrence G. Mayka
        AT&T Bell Laboratories
        lgm@ieain.att.com

Standard disclaimer.
