The function
execute-with-interface
is a useful way of operating on an interface owned by another process. It takes a top-level interface, a function and some arguments and queues the function to be run by that process when it next enters its event loop (for an interface owned by the current process, it calls the function immediately).
Note:
execute-with-interface
applies
function
even if
interface
does not have a screen representation, for example when it is destroyed. To call
function
only if
interface
has a representation, use execute-with-interface-if-alive.
Note:
All accesses (reads as well as writes) on a CAPI interface and its sub-elements should be performed in the interface process. Within a callback on the interface this happens automatically, but
execute-with-interface
is a useful utility in other circumstances.
(setq a (capi:display (make-instance 'capi:interface)))
(capi:execute-with-interface
a 'break
"Break inside the interface process")