CLIM mail archive


run commands from outside command loop?

    Date: Tue, 16 Jun 1992 15:47 EDT
    From: "Keith J. Swanson" <>

    (Using SPARCstation 2, Franz 4.1, clim 1.1)

    I'm developing an application where I have different clim
    applications running as separate processes in the same lisp.

    Is there some programmatic way for one clim app (or more generally,
    any code in another process) to cause a command to be executed in
    a different clim app?

    The docs (page 224) say clim supports four main styles of 
    interaction.  (I assume this means with the default top
    level loop.)  Programmatic calls from outside the frame command
    loop doesn't seem to be one of them.  Is there any easy
    way to get this behavior?

    For example, suppose I have a clim app running as a separate process.
    (The clim process is just waiting (oh so expectantly) to be interacted
    with.)  Could I type a form to the lisp listener (a separate process)
    and cause the clim app to run one of its commands?

    I tried several forms of clim:execute-frame-command with no success.  
    Can something like execute-frame-command work from another process
    or is it necessary to modify the top level loop of the receiving
    clim app?

There are two choices right now:

 (1) Modify the top-level loop of the receiving CLIM application to look
     at some sort of "mail box".
 (2) Find the input buffer for the receiving CLIM application and insert
     an "accept result" into the input buffer.  (An interested hacker
     with CLIM sources could consult clim/interactive-protocol.lisp to
     figure out how to do this.)

Some of us have discussed adding some sort of support for this in CLIM II.

Follow-Ups: References:

Main Index | Thread Index