> We were also planning on a channel for "process status", right? For example, > the user would need to know (1) if the process started or not, (2) if it is > still running correctly, (3) how long it has been running, (4) if it > encountered an error, and (5) if it finished without an error. Could you tell > me if your idea for a virtual terminal is the same or not? Oh yes, it's another member of the family. I picture before me an set of functions that allow the 'other' layers to offer information to the other. A Piper-wide feedback system. In fact it's very simple, just should be able to: - open new incoming connection any time from a lower layer (in respect to the sequence UI->Dl->BL->PL) - accept feedback data 'chunks' over open connections - keep alive - close connection and the data chunks are sto constain all the needed data. We just add new "action id's" we we need some. struct feeback { long ID; /* piper wide unique sequence id */ long source; long destination; int action /* what is this data about? */ gchar* rawdata; /* data, depending on the action */ } We can have action id 274 be 'open virtual tty', or action 12 "report status". jarl